参考博客https://blog.csdn.net/ka_ka314/article/details/79594494 核心代码见此篇博客
/**
* Created by lll on 2018/9/21 17:18.
*/
public class IdWorkerTest extends BaseTest{
@Autowired
private IdWorker idWorker;
@Test
public void nextId() throws Exception {
long l = idWorker.nextId();
System.out.println(l);
}
}
结果为1043067146059382784
ps:64位二进制,不代表你数据bigint存的长度就是64位,由于算法第一位为0,所以存储的最大数为2^63 -1,也就是9.2233*10^18,整个最大长度都不超过20位,所以数据库就没必要设很长,20就够了