• 【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
    

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

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

  • 相关阅读:
    17-电话号码字母的组合
    16-最接近的三数之和
    牛客网上的java面经,JVM
    15-三数之和
    mybatis 懒加载不生效
    @ControllerAdvice
    异常
    @ExceptionHandler处理异常
    spring aop annotation
    return 与 system.exit(0) 区别
  • 原文地址:https://www.cnblogs.com/zllk/p/14044727.html
Copyright © 2020-2023  润新知