mybatis生成的insert语句没有id,但是其他模块相同的代码可以插入成功
mybatis生成的insert语句没有id,但是其他模块相同的代码可以插入成功
原因找到了,主要是mybatisplus主键生成策略的问题,总结如下:
一、表主键未设置AUTO_INCREMENT
1)mybatisplus 未全局配置mybatis-plus.global-config.db-config.id-type
@TableId(value = "id", type = IdType.AUTO)
去掉type按雪花id生成insert sql
2)mybatisplus 全局配置mybatis-plus.global-config.db-config.id-type=AUTO
@TableId(value = "id", type = IdType.x) 或@TableId(value = "id")
全局配置>局部配置 insert失败
二、表主键设置AUTO_INCREMENT
1)mybatisplus 未全局配置mybatis-plus.global-config.db-config.id-type
@TableId(value = "id")
按雪花id生成insert sql
2)mybatisplus 全局配置mybatis-plus.global-config.db-config.id-type=AUTO
@TableId(value = "id")
按自然序id生产id
@TableId(value = "id", type = IdType.ASSIGN_ID)
按雪花id生成insert sql
数据被过滤了,如果你可以让这个id为null的话,你可以关闭严格模式
参考这个文档: https://doris.apache.org/zh-CN/docs/data-operate/import/load-strict-mode