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

来源:互联网 发布:手机推荐知乎 编辑:程序博客网 时间:2024/06/04 16:35

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();          }    }
0 0
原创粉丝点击