UUID(Universally Unique Identifier)全局惟一標識符,是指在一臺機器上生成的數字,它保證對在同一時空中的全部機器都是惟一的。按照開放軟件基金會(OSF)制定的標準計算,用到了以太網卡地址、納秒級時間、芯片ID碼和許多可能的數字。由如下幾部分的組合:當前日期和時間(UUID的第一個部分與時間有關,若是你在生成一個UUID以後,過幾秒又生成一個UUID,則第一個部分不一樣,其他相同),時鐘序列,全局惟一的IEEE機器識別號(若是有網卡,從網卡得到,沒有網卡以其餘方式得到),UUID的惟一缺陷在於生成的結果串會比較長。java
咱們一般使用int來作數據庫的主鍵,能夠很方便的使用自增加,可是使用int數據範圍有限制。若是存在大量的數據,可能會超出int的取值範圍。因此咱們可使用uuid來作主鍵。數據庫
它們兩的優缺點詳細可網上進行查閱dom
jdk1.5增長了類java.Util.UUID,用於方便生成UUID。ui
代碼:spa
/** * @author hh * @Date 2018/9/12 */ public class UUIDUtil { /** * 獲取UUID 32位 * @return */ public static String createUUID(){ String uuid= UUID.randomUUID().toString(); return uuid.replace("-",""); } }
運行:code
以mySql數據庫爲例blog
select replace(uuid(),'-','') from dual;
運行:class