您的位置:首页 > 产品设计 > UI/UE

数据库主键UUID,GUID和自己写的工具类

2017-04-18 17:30 155 查看
GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。

UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID,用法如下:

UUID uuid = UUID.randomUUID();
System.out.println(uuid);


使用UUID生成主键的方法:http://www.cnblogs.com/LeoBoy/p/5806529.html

这里写一个自己用的方法:

/***
* 获取年月日时分秒毫秒等共32位字符串
* @return
*/
public static String generator(){
StringBuffer now = new StringBuffer(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()));
if(sortCode>99990){
sortCode=10000;
}else{
sortCode++;
}
int b = (int)(Math.random() * 90000.0D + 10000.0D);
int c = (int)(Math.random() * 90000.0D + 10000.0D);
return (now.append(sortCode).append(b).append(c)).toString();
}
/***
* 获取年月日时分秒毫秒等共17位字符串
* @return
*/
public static String generatorShort(){
StringBuffer now = new StringBuffer(new SimpleDateFormat("yyMMddHHmmssSSS").format(new Date()));
if(shortSortCode>99){
shortSortCode=0;
}else{
shortSortCode++;
}
if(shortSortCode>9){
return (now.append(shortSortCode)).toString();
}else{
return (now.append(0).append(shortSortCode)).toString();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: