(1)Mybtia Plus主键策略两种默认方式(默认开启)
MyBatis-Plus默认的主键数字类型策略是:旧版ID_WORKER();新版IdType.ASSIGN_ID 全局唯一ID,默认可以不用设置

//mybatis_plus自动策略,生产19位数值,数字类型使用这种策略,例如:long
@TableId(type = IdType.ASSIGN_ID)
private Long id;

MyBatis-Plus默认的主键数字符串策略是:旧版ID_WORKER_STR(); 新版ID_WORKER_STR 全局唯一ID,默认可以不用设置
//mybatis_plus自动策略,生产19位数值,字符串类型使用这种策略,例如:String

@TableId(type = IdType.ASSIGN_ID)
private String id;

(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);~~,  已过时 替换为ASSIGN_ID() 默认使用,无需配置

    /**
     * 全局唯一ID (UUID)
     */
    UUID(4),

    /**
     * 字符串全局唯一ID (idWorker 的字符串表示)  默认使用,无需配置
     */
    ~~ID_WORKER_STR(5);~ 已过时,替换为 ASSIGN_ID()

    private int key;

    IdType(int key) {
        this.key = key;
    }
}

Last modification:May 13, 2020
如果觉得这篇技术文章对你有用,请随意赞赏