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

      

 

posted @ 2018-10-15 20:19  花咖  阅读(10254)  评论(1编辑  收藏  举报