Mybatis默认主键策略是@TableId(type = IdType.ASSIGN_ID) 这是默认策略雪花算法
此时主键类型可以是String 数据表字段类型可以是bigint int varchar 无需数据表主键自增
@TableId(type = IdType.ASSIGN_AUTO) 是主键自增策略:该策略为跟随数据库表的主键递增策略,前提是数据库表的主键要设置为自增
因此数据表该主键字段要自增 一般选择int bigint 实体类主键字段可以是String int Integer Long
@TableId(type = IdType.INPUT)该策略表示,必须由我们手动的插入id,否则无法添加数据.因此需要把数据表主键自增去掉
@TableId(type = IdType.NONE)NONE策略表示不指定主键生成策略,当我们没有指定主键生成策略或者主键策略为NONE的时候,他跟随的是全局策略 因此即使没写@TableId用的就是雪花算法
所谓全局策略就是在application.properties里配置的
默认是assign_id雪花算法
mybatis-plus.global-config.db-config.id-type=assign_id
@TableId(type = IdType.ASSIGN_UUID)全局唯一标识符用UUID作为主键策略
生成的是34个字符的主键 用varchar(34)
雪花算法也应用于分库分表:一般有水平拆分和垂直拆分
还可以自定义主键生成策略