<insert id="insertUser" parameterClass="userDo" >
<![CDATA[
INSERT INTO T_USER (
NAME,
SEX)
VALUES (
#name#,
#sex#
)
]]>
<selectKey resultClass="int" keyProperty="id" >
SELECT @@IDENTITY AS ID
</selectKey>
</insert>
在使用ibatis插入一条新数据时,往往希望返回新数据的id,使用以上办法,能够在数据插入数据库后返回新数据的id。
<selectKey resultClass="int" keyProperty="id" >
SELECT @@IDENTITY AS ID
</selectKey>
!!!但是当使用批量插入时,就无法返回新插入的id了!!!
!! 使用以上方法,会使得插入后的Domain对象的id被设置为新插入的id值,大部分情况我们是希望这样做的。当然也有例外,当我们不想得到这样的结果时,我们可以去掉keyProperty=“id”这部分,这样既可以以结果的形式返回插入的id,又不会自动设置我们的Domain对象的id !!