一、UUID简介
- UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境 领域的一部分。
- 其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。
- 如此一来,每个人都可以创建不与其它人冲突的UUID。
二、UUID组成
- 当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
- 时钟序列。
- 全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。
三、UUID作用
UUID 的目的是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。
四、快速入门
API
:
java.lang.Object
继承者 java.util.UUID
public final class UUIDextends Objectimplements Serializable, Comparable<UUID>
randomUUID
public static UUID randomUUID()获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。
返回:
随机生成的 UUID。
快速获取一个UUID
public static String getUUID(){
return UUID.randomUUID().toString().replace("-","");
}
接这篇文章的数据库字段
https://blog.csdn.net/qq_43442335/article/details/107595189
Test:
@Test
public void insertBlogs(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
Blog blog = new Blog(MybatisUtils.getUUID(),"Spring如此神奇","可星",new Date(),1000);
BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);
mapper.insertBlog(blog);
blog.setId(MybatisUtils.getUUID());
blog.setTitle("编程改变世界");
blog.setCreateTime(new Date());
blog.setViews(200000);
mapper.insertBlog(blog);
blog.setId(MybatisUtils.getUUID());
blog.setTitle("程序员OR工程师");
blog.setCreateTime(new Date());
blog.setViews(300000);
mapper.insertBlog(blog);
sqlSession.commit();
sqlSession.close();
}
生成三个唯一的UUID:
367bb4a9f9044c4c9176eb9eddd3afc7
814cc4e148db4529bbb0a5ddeb12a165
e54ac0d878534098b907bae7357c956f