通常需要取得新插入数据的ID,可以通过一下方式来实现
方式一:
<insert id="doCreate" parameterType="Address" useGeneratedKeys="true" keyProperty="id">
INSERT INTO Address(UId,LinkName,Address,Phone,Remark,Time,ZipCode)
VALUES(#{uid},#{linkName},#{address},#{phone},#{remark},now(),#{zipCode})
</insert>
方式二:
<insert id="doCreate" parameterType="Address" >
<selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER" >
SELECT @@IDENTITY
</selectKey>
INSERT INTO Address(UId,LinkName,Address,Phone,Remark,Time,ZipCode)
VALUES(#{uid},#{linkName},#{address},#{phone},#{remark},now(),#{zipCode})
</insert>
注意程序里取得address.getId()即可取到插入数据的自增ID,而不是取得sql执行的返回值。
本文介绍使用MyBatis框架通过两种方式获取新插入数据的自增ID:一是利用useGeneratedKeys属性设置,二是使用selectKey元素。通过这两种方法可以方便地在Java对象中直接获取到刚插入数据的ID。
4万+

被折叠的 条评论
为什么被折叠?



