如果不是参数里包含要插入的主键的话,考虑一下数据库的结构是否忘记设置主键的自增。
在没有设置主键的自增的情况下插入数据会造成冲突,因此无法插入。
查看生成的mapper.xml里,insertSelective中,是否加有如下参数:
useGeneratedKeys="true" keyColumn="user_id" keyProperty="userId"
如没有,可尝试加上后再运行。
解释:
- useGeneratedKeys :使用自动生成的主键,并获取
- keyColumn: 对应数据库中的自增主键字段名
- keyProperty: 对应对象属性