美文网首页
Mybatis-Puls主键策略

Mybatis-Puls主键策略

作者: Felix_Fang | 来源:发表于2021-06-18 15:10 被阅读0次

    (1)ID_WORKER

    MyBatis-Plus默认的主键策略是:ID_WORKER 全局唯一ID(使用雪花算法)

    参考资料:分布式系统唯一ID生成方案汇总:https://www.cnblogs.com/haoxinyue/p/5208136.html

    (2)自增策略

    • 要想主键自增需要配置如下主键策略

    • 需要在创建数据表的时候设置主键自增

    • 实体字段中配置 @TableId(type = IdType.AUTO)

    @TableId(type = IdType.AUTO)
    private Long id;
    

    要想影响所有实体的配置,可以设置全局主键配置:

    #全局设置主键生成策略
    mybatis-plus.global-config.db-config.id-type=auto
    

    其它主键策略:分析 IdType 源码可知

    @Getter
    public enum IdType {
        /**
         * 数据库ID自增
         */
        AUTO(0),
        /**
         * 该类型为未设置主键类型
         */
        NONE(1),
        /**
         * 用户输入ID
         * 该类型可以通过自己注册自动填充插件进行填充
         */
        INPUT(2),
        /* 以下3种类型、只有当插入对象ID 为空,才自动填充。 */
        /**
         * 全局唯一ID (idWorker)
         */
        ID_WORKER(3),
        /**
         * 全局唯一ID (UUID)
         */
        UUID(4),
        /**
         * 字符串全局唯一ID (idWorker 的字符串表示)
         */
        ID_WORKER_STR(5);
        private int key;
        IdType(int key) {
            this.key = key;
        }
    }
    
    主键策略

    (3)
    官网资料:https://mp.baomidou.com/guide/annotation.html#tableid

    #@TableId

    tableid.png

    #IdType

    IdType.png

    相关文章

      网友评论

          本文标题:Mybatis-Puls主键策略

          本文链接:https://www.haomeiwen.com/subject/brnkyltx.html