ibatis insert数据时返回新数据的id

  
<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 !!

你可能感兴趣的:(ibatis)