【Mybatis-Plus学习笔记(七)】主键策略

本系列博客其他文章请点击下方链接查看
【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

如果全局策略和局部策略同时存在,局部策略优先于全局策略。

其实在项目不是很大的情况下,主键自增完全应付的过来,所以笔者还是老老实实的用主键自增吧。

posted @   朱李洛克  阅读(317)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· SQL Server 内存占用高分析
阅读排行:
· 盘点!HelloGitHub 年度热门开源项目
· DeepSeek V3 两周使用总结
· 02现代计算机视觉入门之:什么是视频
· C#使用yield关键字提升迭代性能与效率
· 回顾我的软件开发经历(1)
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css
点击右上角即可分享
微信分享提示