MyBatis-Plus—主键生成策略

MyBatis-Plus 数据库插入时的id的默认值为:全局的唯一id

1、ID_WORKER

默认 ID_WORKER 全局唯一id

分布式系统唯一id生成:https://www.cnblogs.com/haoxinyue/p/5208136.html

snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为
毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味
着每个节点在每毫秒可以产生 4096 个 ID),最后还有一个符号位,永远是0。可以保证几乎全球唯
一!

2、主键自增

我们需要配置主键自增:

  • 实体类字段上 @TableId(type = IdType.AUTO)
  • 数据库字段一定要是自增!

再次测试插入即可!这时主键就是自增的状态。

其与类型的源码解释

public enum IdType {
    AUTO(0), // 数据库id自增
    NONE(1), // 未设置主键
    INPUT(2), // 手动输入
    ID_WORKER(3), // 默认的全局唯一id
    UUID(4), // 全局唯一id uuid
    ID_WORKER_STR(5); //ID_WORKER 字符串表示法
}
最后修改:2021 年 10 月 14 日 04 : 57 PM
如果觉得我的文章对你有用,请随意赞赏