java如何插入唯一值的数据

2022年10月19日 15点热度 0人点赞

java插入唯一值的方式有好多中,有自带的,有开源的,这里将分享一些获取唯一值的方法,希望可以帮到大家

工具/原料

  • java

方法/步骤

  1. 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. 2

    第二步:当然随机数获取在某种程度上有重复的问题,所以在JDK里面有UUID的类,此类就是获取唯一字符串的,代码如下:

    UUID uuid = UUID.randomUUID();

     

    System.out.println(uuid.toString());

  3. 3

    第三步:通过nanoTime()来获取唯一值,这个是个静态方法,获取微秒数,比时间戳更精细,代码如下:

    long l = System.nanoTime();

     

    System.out.println(l);

  4. 4

    第四步:雪花算法。分布式ID解决方案,生成的值是唯一的,代码如下:

    long id = IdUtil.getSnowflake(0, 0).nextId();

     

    System.out.println(id);

    (这里用hutool工具包)

  5. 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. 6

    第六步:如果是插入数据的话,在mysql里面自增注解和唯一外键,通过这个也可以控制值的唯一

    END

注意事项

  • 希望可以帮助大家
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论