UUID一篇就够了、快速生成数据库主键唯一序列

一、UUID简介

  • UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境 领域的一部分。
  • 其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。
  • 如此一来,每个人都可以创建不与其它人冲突的UUID。

二、UUID组成

  1. 当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
  2. 时钟序列。
  3. 全局唯一的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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值