主键生成策略分类
- 自动增长 AUTO INCREMENT
分表 id 1-100 101-200 201-300 …
缺点:需要得到上张表的最后一个值,把它加一,才生成新表
优点:id值可以排序 - UUID
每次生成随机唯一的值
缺点:排序不方便 - Redis生成ID
可用Redis的原子操作INCR和INCRBY来实现,有时候用的比较多 - MP自带策略(用的多)
不需要设置id值(主键)
mp自动生成id值(19位id值)
根据snowflake算法生成id
主键生成策略配置
- 不做任何配置,默认使用的是MP自带策略,但可以做配置
@TableId(type = IdType.AUTO)
private Long id;
- 可选的生成策略
AUTO: 自动增长
ID_WORKER: MP自带策略,针对属性是数字类型
ID_WORKER_STR: MP自带策略,针对属性是字符串类型
INPUT: 需要自己输入/设置id值
NONE: 没有策略,需要自己输入,一般用INPUT
UUID: 每次生成随机唯一的值