为啥用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>
