1、项目环境——SpringBoot下的SSM+Maven
2、问题出现位置——Dao层和Mapper文件
错误代码如下图:
dao层:
mapper文件:
错误代码分析:
使用useGeneratedKeys生成主键时
(1)如果在DAO层使用@Param注解传递参数,则 keyProperty 属性 需要通过 “注解”+“主键id” 的格式,否则无法返回主键。
(2)如果在DAO层只有单个参数传递(不需要使用@Param注解穿传递参数),则 keyProperty 属性可以直接 = “主键id” 来返回主键。
总结如下:
使用useGeneratedKeys生成主键时,有两种情况
情况 1(DAO层 加 注解):
Mapper如下:
情况 2(DAO层 不加 注解):
Mapper如下: