zoukankan      html  css  js  c++  java
  • 【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
    

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

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

  • 相关阅读:
    Study Plan The Twelfth Day
    Study Plan The Fifteenth Day
    Study Plan The Seventeenth Day
    Study Plan The Tenth Day
    Study Plan The Eighth Day
    Study Plan The Eleventh Day
    Study Plan The Sixteenth Day
    Study Plan The Thirteenth Day
    Study Plan The Fourteenth Day
    Study Plan The Ninth Day
  • 原文地址:https://www.cnblogs.com/zllk/p/14044727.html
Copyright © 2011-2022 走看看