目录
一、什么是雪花算法
二、使用雪花算法
三、使用UUID
使用自增主键是数据库中常用的唯一标识,今天尝试使用mybatisplus来实现三种方式的主键ID
使用起来也很简单 用注解指定一下使用那种方式的主键
一、什么是雪花算法
一种特殊的算法可以计算得到一个唯一标识
二、使用雪花算法
/*** 数据库ID自增* <p>该类型请确保数据库设置了 ID自增 否则无效</p>*/AUTO(0),/* 以下2种类型、只有当插入对象ID 为空,才自动填充。 *//*** 分配ID (主键类型为number或string),* 默认实现类 {@link com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator}(雪花算法)** @since 3.3.0*/ASSIGN_ID(3),/*** 分配UUID (主键类型为 string)* 默认实现类 {@link com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator}(UUID.replace("-",""))*/ASSIGN_UUID(4);
@RequestMapping("/test")void test() {//目前这个id是没有填充的SysUser sysUser = new SysUser();sysUser.setUserAccount("153abc");sysUser.setUserPassword("h12345");sysUser.setCreateBy(67L);sysUser.setUpdateBy(99L);System.out.println("调用insert之前的id:" + sysUser.getUserId());sysUserService.insertUser(sysUser);//调用之后,数据不仅会保存到数据库,而且会自动更新当前对象的值System.out.println("调用insert之后的id:" + sysUser.getUserId());}
数据库表中也会多一条数据
三、使用UUID
修改注解中的参数
数据不仅更新到数据库了 也帮我们更新了当前这个对象中的数据