mybatis-plus主键生成策略

1. ID_WORKER

MyBatis-Plus默认的主键策略是:ID_WORKER 全局唯一ID
参考资料:分布式系统唯一ID生成方案汇总:https://www.cnblogs.com/haoxinyue/p/5208136.html

2. 自己指定主键生成策略

在mybatis-plus中想要自己指定主键策略需要在你的实体类中的id属性上面加上注解:@TableId()
mybatis-plus主键生成策略_第1张图片
查看源码,发现有个IdType,
mybatis-plus主键生成策略_第2张图片
再点进去,发现里面有很多主键生成策略。

mybatis-plus主键生成策略_第3张图片

分别对应的是:

  1. AUTO(0):数据库ID自增。
  2. NONE(1):该类型为未设置主键生成策略。
  3. INPUT(2):用户输入ID、该类型可以通过自己注册自动填充插件进行填充。简单来说就是使用了这个策略要我们自己输入id,不会自动生成id。
  4. ID_WORKER(3):全局唯一ID (idWorker),mp自带策略,会生成19位的值,需要的注意的是这个只能放在数字类型的主键中。
  5. UUID(4):全局唯一ID (UUID)。
  6. ID_WORKER_STR(5):字符串全局唯一ID (idWorker 的字符串表示)。同ID_WORKER不同的是它是只能放在String类型的主键中。

其中在mybatis-plus中默认的是ID_WORKER与 ID_WORKER_STR,当我们没有指定生成策略的时候,他会根据你的主键的数据类型来选择ID_WORKER或者ID_WORKER_STR,这两种主键生成策略使用的是snowflake算法,也就是雪花算法。

你可能感兴趣的:(mybatis-plus,数据库,mybatis-plus)