百度空间 | 百度首页 
               
 
查看文章
 
让iBatis中的insert返回主键 [ibatis insert 返回 自增主键]
2008-02-26 16:14

<!-- 为了使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>
-->


类别:Java | 添加到搜藏 | 浏览() | 评论 (3)
 
最近读者:
 
网友评论:
1
2008-11-13 10:16 | 回复
这种写法有潜在的错误,如果同事并发操作的话,序列的current值并非你当插入记录的id。
 
2
2008-11-15 10:20 | 回复
ibatis应该能保证不出现你说的问题吧: http://hi.baidu.com/aztack/blog/item/75d3caea956987d6d439c977.html
 
3
2009-03-29 02:04 | 回复
正在找这个,回去测试下,谢谢
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu