编者在开发过程中用postman测试接口,发现要求id为必填且不能含有英文字母,问了对面开发人员才知道需要自己生成20位Long型uuid,写法大概如下,在需要生成的部分调用这个类即可。

package nc.bs.task.util;import java.text.SimpleDateFormat;public class UUID{private static volatile int Guid = 100;public static String getGuid(){UUID.Guid += 1;long now = System.currentTimeMillis();//获取4位年份数字SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");//获取时间戳String time = dateFormat.format(now);String info = now + "";//获取三位随机数//int ran=(int) ((Math.random()*9+1)*100);//要是一段时间内的数据量过大会有重复的情况,所以做以下修改int ran = 0;if (UUID.Guid > 999){UUID.Guid = 100;}ran = UUID.Guid;return time + info.substring(2, info.length()) + ran;}
}

调用场景:

//20位UUID,如果有值走更新接口,否则走新增,将生成的uuid传给自定义5
//先判断id为空,添加进数据,
String getId = UUID.getGuid().toString();
if(!"".equals(getId) && getId != null) {userData.put("id", getId);
}

最终回写到数据库,效果大概如下:

JAVA生成20位LONG型UUID相关推荐

  1. Java生成唯一的long型数字id

    最近用的java中用到了唯一的数字id.网上查了有几种主流方式,如hashcode,nanotime等,但是这几种都有可能出现重复.所以博采众长,自己写了一个生成19位long型唯一数字id 的工具类 ...

  2. Python-随机生成20位数字

    生活是灯,工作是油.想要灯亮,必须加油.加油打工人! 结合时间随机生成20位数字 def get_random_num20():"""返回20位有效数字"&qu ...

  3. Random随机生成几位数字和UUID随机生成几位字母加数字组合

    Random随机生成几位数字和UUID随机生成几位字母加数字组合 public class TestRandom { public static void main(String[] args) { ...

  4. java怎样生成32位全是整形的主键_用java生成32位全球唯一的id编号

    GUID是一个128位长的数字,一般用16进制表示.算法的核心思想是结合机器的网卡.当地时间.一个随即数来生成GUID.从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义 ...

  5. Java 生成13位条形码 Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码。

    package cn.zhang;import java.util.Scanner;public class Subject001 {/**生成13位条形码 Ean-13码规则:第十三位数字是前十二位 ...

  6. java生成8位的uuid_分布式系统全局唯一ID简介、特点、生成

    一.什么是分布式系统唯一ID 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识. 如在金融.电商.支付.等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息, ...

  7. java 生成8位随机密码

    package com.fastone.www.javademo.randomtest;import java.util.Random;/*** @program: javademo* @descri ...

  8. java生成16位随机数_java中如何产生一个16位数字组成的随机字符串?谢谢各位了...

    展开全部 方法如下: Random ran=new random(); boolean flag=true; while(flag){ int a=ran.nextInt(99999999); int ...

  9. java生成6位随机数

    生成6位随机数(不会是5位或者7位,仅只有6位): System.out.println((int)((Math.random()*9+1)*100000)); 同理,生成5位随机数: System. ...

最新文章

  1. mfc 消息消息队列概念_必看入门秘籍——解密原理:消息中间件之RabbitMQ
  2. 介绍几款开源好用的产品
  3. 【动态规划】【图论】[NOIP模拟赛]独立集
  4. 和初学者谈谈如何学好单片机编程技术
  5. spring 注释_Spring @Value注释
  6. 第12章 存储器的保护
  7. 奇安信代码安全实验室帮助谷歌修复高危漏洞,获官方致谢
  8. 关于MySQL的存储函数(自定义函数)的定义和使用方法详解
  9. myisam 与 innodb的区别,在什么情况下用什么ENGINE
  10. unity下载和安装
  11. 图片PDF转word
  12. Adam:大规模分布式机器学习框架
  13. Unbuntu下U盘突然权限只读,无法重命名和复制粘贴文件的问题修复
  14. Java中set.iterator()的用法;
  15. 【论文精度】AutoBERT-Zero (使用NAS搜索预训练语言模型)
  16. Galois Field NTT
  17. npm 发布包与遇见的问题 (随记)
  18. 数据应用案例之“客户画像体系”
  19. CSS - 解决 “本地测试” 和 “线上测试” 样式不一样问题
  20. Friendship of Frog

热门文章

  1. linux-12月第三周-软件管理
  2. Codeforces 1634 A. Reverse and Concatenate —— 简单思维
  3. 凯撒加密方法介绍及实例说明
  4. 解决StackPanel滚动条无法显示
  5. echarts 柱状图柱子改成圆柱体_玩转ECharts之实现“顶端装饰”
  6. CNN加速器中的NC4HW4内存排布格式
  7. 母婴产品微信小程序怎么样申请和认证的方法
  8. 【vue2】vue全家桶介绍,学习vue必备
  9. java公寓管理系统设计与实现,基于Java的宿舍管理系统的设计与实现.doc
  10. 陶渊明最有名的10首诗,闲适美好