<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?
你好,使用
Mybatis
中的useGeneratedKeys
时有个误区就是以为返回值就是最近的自增id值,其实与普通的insert
语句一样,这个返回值仍是新插入的条数。你问题中的uid
值,会保存在你传入的User
对象中的uid
字段中。上官云恒同学问的批量插入也是同理,uid
依次放到List中对应的User对象中即可。示例代码: