MybatisPlus主键策略-LMLPHP

 

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)

雪花算法也应用于分库分表:一般有水平拆分和垂直拆分
 

还可以自定义主键生成策略

04-17 20:26