本系列博客其他文章请点击下方链接查看
【Mybatis-Plus学习笔记】目录
MP支持的主键策略介绍
Mybatis-Plus默认使用雪花算法生成主键。如果想了解雪花算法,可以看看笔者同系列文章——【Mybatis工具(五)】雪花算法。当然你还可以不使用默认的主键策略。
局部主键策略实现
MP的主键策略定义在枚举类IdType中
/**
* 数据库ID自增
*/
AUTO(0),
/**
* 该类型为未设置主键类型
*/
NONE(1),
/**
* 用户输入ID
* <p>该类型可以通过自己注册自动填充插件进行填充</p>
*/
INPUT(2),
/* 以下3种类型、只有当插入对象ID 为空,才自动填充。 */
/**
* 全局唯一ID (idWorker)
*/
ID_WORKER(3),
/**
* 全局唯一ID (UUID)
*/
UUID(4),
/**
* 字符串全局唯一ID (idWorker 的字符串表示)
*/
ID_WORKER_STR(5);
0:数据库主键自增
1:不配置主键策略,就是跟随全局,也就是雪花算法
2:用户输入
3、4、5只有当输入ID为0的时候才能有效,如果不为空,就会插入你输入的内容作为ID
3:跟随全局,也就是雪花算法
4:UUID作为主键
5:跟随全局,也就是雪花算法,和3不同的是这个主键是字符串
在相应的实体主键字段上面设置即可
@TableId(type = IdType.AUTO)
private Long id;
全局主键策略实现
全局配置需要修改配置文件,如下:
mybatis-plus.global-config.db-config.id-type=uuid
如果全局策略和局部策略同时存在,局部策略优先于全局策略。
其实在项目不是很大的情况下,主键自增完全应付的过来,所以笔者还是老老实实的用主键自增吧。