Mybatis useGeneratedKeys无法返回主键问题
前言
最近同事遇到了一个问题,就是mybatis中使用useGeneratedKeys无法返回主键,确认keyProperty 设置的主键没有问题,代码也没有问题,后来经过查找,原来时mapper.java中的注解Param的问题
错误代码示例
正确示例
总结
使用useGeneratedKeys生成主键时
(1)如果在DAO层使用@Param注解传递参数,则 keyProperty 属性 需要通过 “注解”+“主键id” 的格式,否则无法返回主键,例如 msg.MsgInnerId
(2)如果在DAO层只有单个参数传递(不需要使用@Param注解穿传递参数),则 keyProperty 属性可以直接 用 “主键id” 来返回