让iBatis中的insert返回主键 [ibatis insert 返回 自增主键]

让iBatis中的insert返回主键 [ibatis insert 返回 自增主键]

 

<!-- 为了使insert操作能够返回插入记录的id,必须为insert写一个selectKey -->

<!--
   下面是针对Oracle的写法,Oracle没有autoincrement,而是用触发器实现的
   CURRVAL是在触发器中定义的
-->
<insert id="insertRemark" parameterClass="RemarkInfo">
   insert into SGS_REMARK(REMARK) values(#remark#)
   <selectKey resultClass="int" keyProperty="id" >
    SELECT S_SGS_REMARK.CURRVAL AS ID FROM DUAL
   </selectKey>
</insert>

<!-- 下面是针对MySQL的写法 -->
<!--
   <selectKey resultClass="int" keyProperty="id" >
   SELECT @@IDENTITY AS id
   </selectKey>
-->

 

 其中Mysql中也可以这么写(首推方法):

<insert id="tijiaoShensuQiantui" parameterClass="qiandao">
    insert into ur_sign_date_shensu   ( `auditing_user_id` ,`shensu_time`,`shensu_note`,`shensu_date_time`,`shensu_state`,`sign_date_id`)
    values(#auditingUserId#,#shensuTime#,#shensuNote#,#shensuDateTime#,1,#id_PK#);   
        <selectKey resultClass="String"  keyProperty="signId" > 
             SELECT last_insert_id() as signId ;
        </selectKey>   
 </insert>

 

signId必须是qiandao这个bean里的属性

你可能感兴趣的:(oracle,mysql,bean,ibatis)