1、使用Mybaits Plus 主鍵策略
IdType = auto
2、預期
主鍵策略:
指定數據的id,數據庫中不存在按照指定id插入,如果沒有給id,則使用數據庫自增
3、結果
沒有使用已經有的id,也沒有使用數據庫自增,生成了長度為19為的long類型id
4、分析
源碼顯示,如果id為空,或者通過id差不多數據,則插入數據,且生成的sql不包含id字段
配置中沒有指定主鍵生成,使用了默認生成器導致的
5、解決方法:
如果是批處理要達到預期,則可將主鍵生成策略改為:
@TableId(type = IdType.INPUT)