1、使用Mybaits Plus 主键策略
IdType = auto
2、预期
主键策略:
指定数据的id,数据库中不存在按照指定id插入,如果没有给id,则使用数据库自增
3、结果
没有使用已经有的id,也没有使用数据库自增,生成了长度为19为的long类型id
4、分析
源码显示,如果id为空,或者通过id差不多数据,则插入数据,且生成的sql不包含id字段
配置中没有指定主键生成,使用了默认生成器导致的
5、解决方法:
如果是批处理要达到预期,则可将主键生成策略改为:
@TableId(type = IdType.INPUT)