Ibatis insert语句中 思想 keyProperty

  在Ibatis中,insert()的返回值为一个Object的主键,其实这个Object的主键是这样的来的:如果在bean的xml文件中设置了插入的keyProperty,则insert()方法返回的就是这个主键的值。

例如,所以我们想要在插入时想要插入一个sequence值到数据库的某个字段(当然,这个字段的类型为Number的),我们可以在xml文件中做如下配置(以下为在DB服务器是Oracle的前提下):

<insert id="insertUser" parameterClass="po.User">
<selectKey resultClass="int" keyProperty="userId" >
SELECT user_account_s.nextval AS userid FROM dual
</selectKey>
insert into user_account(userid, username, password, groupname)
values(#userId#, #userName#, #password#, #groupName#)
</insert>


<insert id="saveIndirRefTransData" parameterClass="refTransLine">
		<selectKey resultClass="long" keyProperty="id">
			SELECT w_seq_reftransline.NEXTVAL as id from DUAL
		</selectKey>
		<![CDATA[
		INSERT INTO REFTRANSLINE(ID,MERCHID,CARDNO,REFAMT,TRANSDATE,TRANSTIME,TXNAMT,REFUNDDATE,CHECKFLAG,DEALERID,REFUNDFLAG)
		values(#id#,#merchId#,#cardNo#,#refAmt#,#transDate#,#transTime#,#txnAmt#,#refundDate#,#dealerId#,#dealerId#,'Y')
		]]>
	</insert>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值