风人园

弱水三千,只取一瓢,便能解渴;佛法无边,奉行一法,便能得益。
随笔 - 99, 文章 - 181, 评论 - 56, 引用 - 0
数据加载中……

SqlMapClient.insert()返回主键

<insert id="saveInfoReq" parameterClass="informationRequisition" >
     INSERT INTO IT_M_InformationRequisition(TrackingNumber, SAPCODE,PLANT_FK) 
     values (#trackingNumber#, #sapCode#,#plant_FK#)
  <selectKey resultClass="int" keyProperty="id" > 
      SELECT @@IDENTITY AS ID
  </selectKey>
 </insert>
在insert的sql声明中,需要嵌套selectKey,然后去运行相应产生主键的语句。在sql server中,是通过@@IDENTITY来产生主键的,这里相当于两个语句,第一个语句insert,完成之后再调用select,这样就能获得这个记录的主键了。

在其他的数据库中也会有相应其他的主键生产方式,按照他们方式就可以返回相应的主键了。

posted on 2007-07-06 08:18 风人园 阅读(1609) 评论(1)  编辑  收藏 所属分类: iBatis

评论

# re: SqlMapClient.insert()返回主键  回复  更多评论   

给个例子吧
<insert id="sql.demo.003" parameterClass="java.util.HashMap">
insert into aurora_demo(DEMO_ID,DEMO_NAME) values (#koujyoCd#,#hinmeiGroupCd#)
<selectKey resultClass="String" >
SELECT DEMO_ID from aurora_demo where DEMO_ID = #koujyoCd#
</selectKey>
</insert>
2008-10-24 17:04 | ziruijie

只有注册用户登录后才能发表评论。


网站导航: