Mybatis useGeneratedKeys无法返回主键解决

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如下:

      

原文地址:https://www.cnblogs.com/xb1223/p/9794382.html