概述
问题描述
mybatis新增成功后不返回主键
解决方法
方法一:推荐
在mapper(即xml文件)的<insert>标签中进行如下图的设置
其中,useGeneratedKeys="true"和keyProperty="id"成对使用,且必须设置; parameterType和keyColumn属性可以不设置。
方法二:不推荐
用<selectKey>标签;且这种方法可以用于不能自增的数据库(不推荐使用)
其中,
resultType属性值的类型要和实体类主键类型一直,否则报错【java.lang.IllegalArgumentException: argument type mismatch】。
insert语句中也可不写id和null。
方法三:不管用
在application.properties配置文件中添加如下配置
mybatis.configuration.use-generated-keys=true
其他问题
在设置完成后,并没有起作用,实体类主键依然为null。
注意事项
1.实体类dao层 不要添加@Param()属性
2.xml不要使用#{user.id}
3.如果要用1和2,那么keyProperty="user.id",要这么设置
4.数据库支持主键自增
参考博客
https://blog.csdn.net/guangyingposuo/article/details/90544739
mybatis官网
https://blog.csdn.net/mobiusstrip/article/details/88581869
最后
以上就是机灵宝贝为你收集整理的mybatis insert成功后返回主键的全部内容,希望文章能够帮你解决mybatis insert成功后返回主键所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复