java生成uuid主键_java生成UUID
UUID介紹:
UUID(Universally Unique Identifier)全局唯一標識符,是指在一臺機器上生成的數(shù)字,它保證對在同一時空中的所有機器都是唯一的。按照開放軟件基金會(OSF)制定的標準計算,用到了以太網(wǎng)卡地址、納秒級時間、芯片ID碼和許多可能的數(shù)字。由以下幾部分的組合:當(dāng)前日期和時間(UUID的第一個部分與時間有關(guān),如果你在生成一個UUID之后,過幾秒又生成一個UUID,則第一個部分不同,其余相同),時鐘序列,全局唯一的IEEE機器識別號(如果有網(wǎng)卡,從網(wǎng)卡獲得,沒有網(wǎng)卡以其他方式獲得),UUID的唯一缺陷在于生成的結(jié)果串會比較長。
UUID作用:
我們通常使用int來做數(shù)據(jù)庫的主鍵,可以很方便的使用自增長,但是使用int數(shù)據(jù)范圍有限制。如果存在大量的數(shù)據(jù),可能會超出int的取值范圍。所以我們可以使用uuid來做主鍵。
它們兩的優(yōu)缺點詳細可網(wǎng)上進行查閱
java中的類java.Util.UUID
(最好就是在java程序中生成UUID然后把數(shù)據(jù)插入到數(shù)據(jù)庫,為了換數(shù)據(jù)庫的話不用修改生成UUID的代碼)
jdk1.5增加了類java.Util.UUID,用于方便生成UUID。
代碼:
/***@authorhh
* @Date 2018/9/12*/
public classUUIDUtil {/*** 獲取UUID 32位
*@return
*/
public staticString createUUID(){
String uuid=UUID.randomUUID().toString();return uuid.replace("-","");
}
}
運行:
數(shù)據(jù)庫中UUID的存儲類型
以mySql數(shù)據(jù)庫為例
select replace(uuid(),'-','') from dual;
運行:
總結(jié)
以上是生活随笔為你收集整理的java生成uuid主键_java生成UUID的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 批量造数据的一种方法
- 下一篇: android之多媒体篇(一)