天天看點

java生成32位的UUID通用唯一識别碼 (Universally Unique Identifier)

為啥用uuid而不用自增長方式呢?

首先為什麼要用uuid控制主鍵呢?

相比較自動增長的int類型的主鍵有什麼好處?

當資料量多、登入使用者量多、遇到高并發的時候,自增長不利于維護,也不利于拓展,而且也有可能出現幾個人同時插入自增長的同一個id 比如自增長到了100,ABC三個使用者同時插入的時候會不會出現同時插入101?或者覆寫101資料呢?這就是弊端。

然而用uuid控制的話  當調用的插入的時候才自動生成一個識别号。。。

生成32位的uuid字元串

<span style="font-size:14px;">package com.cmcc.tools;

import java.util.UUID;

public class UUIDTool {

	public UUIDTool() {
	}
	/**
	 * 自動生成32位的UUid,對應資料庫的主鍵id進行插入用。
	 * @return
	 */
	public static String getUUID() {
		/*UUID uuid = UUID.randomUUID();
		String str = uuid.toString();
		// 去掉"-"符号
		String temp = str.substring(0, 8) + str.substring(9, 13)
				+ str.substring(14, 18) + str.substring(19, 23)
				+ str.substring(24);
		return temp;*/
		
		return UUID.randomUUID().toString().replace("-", "");
	}


	public static void main(String[] args) {
//		String[] ss = getUUID(10);
		for (int i = 0; i < 10; i++) {
			System.out.println("ss[" + i + "]=====" + getUUID());
		}
	}
}
</span>
           
java生成32位的UUID通用唯一識别碼 (Universally Unique Identifier)