MyBatis-Plus自动生成了一个id
在上文《MyBatis-Plus入门案例:查询数据库中所有记录》中,已经搭建好了环境并测试了查询操作,接下来测试添加操作,具体测试代码如下:
@Test
public void testAdd(){
User user = new User(null,"lucy",23,"lucy@qq.com");
int insert = userMapper.insert(user);
// 返回影响行数
System.out.println(insert);
}
我们在创建表的时候并没有设置自动增长,并且添加时设置id为null。但是却自动出现了一串长长的id,
这串id是由MyBatis-Plus为我们自动生成的,它叫做主键策略
。接下来就讲解MyBatis-Plus的主键策略技术。
ASSIGN_ID默认策略
使用注解可以实现主键策略,MyBatis-Plus默认的主键策略是:ASSIGN_ID
(底层使用了雪花算法)
@TableId(type = IdType.ASSIGN_ID)
上述主键策略中,常用的是
ASIGN_ID
和AUTO
,剩下的ASSIGN_UUID是自动生成一个随机值,INPUT则是手动设置值。
AUTO自增策略
若使用AUTO自增策略,则需要在创建数据表的时候设置主键自增。在实体字段中如下配置:
@TableId(type = IdType.AUTO)
要想影响所有实体的配置,还可以设置全局主键策略:
#全局设置主键生成策略
mybatis-plus.global-config.db-config.id-type=auto
至此,关于MyBatis-Plus的主键策略测试完成。