java如何插入唯一值的数据
1、第一步:java获取唯一值,在jdk里面可以使用随机数方法,随机种子可以cup的频率,当前时钟等等,代码如下:
Random r = new Random();
for(int i=0 ; i<100 ; i++){
int x = r.nextInt(100000000);
System.out.println(x);
}

2、第二步:当然随机数获取在某种程度上有重复的问题,所以在JDK里面有UUID的类,此类就是获取唯一字符串的,代码如下:
UUID uuid = UUID.randomUUID();
System.out.println(uuid.toString());

3、第三步:通过nanoTime()来获取唯一值,这个是个静态方法,获取微秒数,比时间戳更精细,代码如下:
long l = System.nanoTime();
System.out.println(l);

4、第四步:雪花算法。分布式ID解决方案,生成的值是唯一的,代码如下:
long id = IdUtil.getSnowflake(0, 0).nextId();
System.out.println(id);
(这里用hutool工具包)

5、第五步:在java.util包里面还有一个线程安全的加减操作,AtomicInteger,此方法可以提供安全的加减,也可以做唯一值生成工具,代码如下:
AtomicInteger counter = new AtomicInteger(0);
if (counter.get() > 999999) {
counter.set(1);
}
long t = System.currentTimeMillis();
long x = t * 100 + counter.incrementAndGet();
System.out.println(x);

6、第六步:如果是插入数据的话,在mysql里面自增注解和唯一外键,通过这个也可以控制值的唯一
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:151
阅读量:82
阅读量:133
阅读量:54
阅读量:81