为什么mybatis不会输出insert以后的记录id?
<insert id="insertOne" parameterType="User" useGeneratedKeys="true" keyProperty="uid" keyColumn="uid">
insert into user (
<include refid="userRegisterField"></include>
) values (
null,"${username}","${password}","${nickname}"
)
</insert>
useGeneratedKeys="true" keyProperty="uid"
这里为什么不会返回新建记录的id,而是总是返回了1?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你好,使用
Mybatis
中的useGeneratedKeys
时有个误区就是以为返回值就是最近的自增id值,其实与普通的insert
语句一样,这个返回值仍是新插入的条数。你问题中的uid
值,会保存在你传入的User
对象中的uid
字段中。上官云恒同学问的批量插入也是同理,uid
依次放到List中对应的User对象中即可。示例代码:
返回的1是插入的条数
id已经给设置到对象的id字段上了