java实现数据库主键生成示例
package test;
import java.util.concurrent.atomic.AtomicInteger;
public class IDGenerate {
private static final AtomicInteger integer = new AtomicInteger(0);
public static long getId() {
long time = System.currentTimeMillis();
StringBuilder str = new StringBuilder(20);
str.append(time);
int intValue = integer.getAndIncrement();
if (integer.get() >= 10000) {
integer.set(0);
}
if (intValue < 10) {
str.append("000");
} else if (intValue < 100) {
str.append("00");
} else if (intValue < 1000) {
str.append("0");
}
str.append(intValue);
return Long.parseLong(str.toString());
}
public static void main(String[] args) {
for (int i = 0; i < 100003; i++) {
new Test().start();
}
}
private static class Test extends Thread {
@Override
public void run() {
System.out.println(IDGenerate.getId());
}
}
}
相关文章
javabean 中使用@Transient属性处理临时字段
@Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性,本文给大家介绍javabean 中临时字段的处理:@Transient,感兴趣的朋友跟随小编一起看看吧2023-08-08
springcloud微服务基于redis集群的单点登录实现解析
这篇文章主要介绍了springcloud微服务基于redis集群的单点登录实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-09-09


最新评论