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

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

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

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

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

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

生成32位的uuid字符串

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

java生成32位的UUID通用唯一识别码 (Universally Unique Identifier)_第1张图片

你可能感兴趣的:(Util工具类,数据库Sql常见问题及常用语句)