java生成UUID

 

UUID介紹:

UUID(Universally Unique Identifier)全局惟一標識符,是指在一臺機器上生成的數字,它保證對在同一時空中的全部機器都是惟一的。按照開放軟件基金會(OSF)制定的標準計算,用到了以太網卡地址、納秒級時間、芯片ID碼和許多可能的數字。由如下幾部分的組合:當前日期和時間(UUID的第一個部分與時間有關,若是你在生成一個UUID以後,過幾秒又生成一個UUID,則第一個部分不一樣,其他相同),時鐘序列,全局惟一的IEEE機器識別號(若是有網卡,從網卡得到,沒有網卡以其餘方式得到),UUID的惟一缺陷在於生成的結果串會比較長。java

UUID做用:

咱們一般使用int來作數據庫的主鍵,能夠很方便的使用自增加,可是使用int數據範圍有限制。若是存在大量的數據,可能會超出int的取值範圍。因此咱們可使用uuid來作主鍵。數據庫

它們兩的優缺點詳細可網上進行查閱dom

 

java中的類java.Util.UUID

(最好就是在java程序中生成UUID而後把數據插入到數據庫,爲了換數據庫的話不用修改生成UUID的代碼)

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

數據庫中UUID的存儲類型

以mySql數據庫爲例blog

select replace(uuid(),'-','') from dual;

運行:class

相關文章
相關標籤/搜索