java 生成 32 位的 UUID 通用唯一识别码

为啥用 uuid 而不用自增长方式呢?

首先为什么要用 uuid 控制主键呢?

相比较自动增长的 int 类型的主键有什么好处?

当数据量多、登录用户量多、遇到高并发的时候,自增长不利于维护,也不利于拓展,而且也有可能出现几个人同时插入自增长的同一个 id 比如自增长到了 100,ABC 三个用户同时插入的时候会不会出现同时插入 101?或者覆盖 101 数据呢?这就是弊端。

然而用 uuid 控制的话  当调用的插入的时候才自动生成一个识别号。。。

生成 32 位的 uuid 字符串


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());
		}
	}
}

b8218e0da6a44df8969eed4d4cf7530b-image.png