我们常常都会对数据库表中的id进行自增或则随机生成,那么在我们日常开发中有3种常见的主键策略

自动增长

即我们常见的数据库表设计中,将id值设成AUTO INCREMENT

UUID

每次生成随机唯一的值,但排序不方便

redis实现

mp(MybatisPlus)自带策略 snowflake算法

  • IdType是一个枚举类,定义了生成ID的类型
  • AUTO 数据库ID自增
  • INPUT 用户输入ID
  • ID_WORKER 全局唯一ID,Long类型的主键
  • ID_WORKER_STR 字符串全局唯一ID
  • UUID 全局唯一ID,UUID类型的主键
  • NONE 该类型为未设置主键类型
@TableId(type = IdType.AUTO)
private Long Id;