ibatis录入insert之后,返回主键

来源:互联网 发布:华测gps怎么导出数据 编辑:程序博客网 时间:2024/06/08 23:31

今天工作中用到了ibatis,录入一条记录之后,需要返回主键。详情如下:

使用的ibatis版本为:

<dependency><groupId>org.apache.ibatis</groupId><artifactId>ibatis-sqlmap</artifactId><version>2.3.4.726</version></dependency>

xml映射配置如下:

<insert id="addUnFreezeRecord" parameterClass="unFreezeRecord">insert into store_unfreeze_record(product_no,storage,BEFORE_FREEZE_NUMBER,AFTER_FREEZE_NUMBER,operator)values(#productNo#,#storage#,#beforeFreezeNumber#,#afterFreezeNumber#,#operator#)<selectKey resultClass="java.lang.String" keyProperty="id">SELECT LAST_INSERT_ID() as id</selectKey></insert>
接收:

@Overridepublic String addUnFreezeRecord(UnFreezeRecord unFreezeRecord) {Object result = this.getSqlMapClientTemplate().insert("stock.addUnFreezeRecord", unFreezeRecord);return unFreezeRecord.getId();}
使用的sqlMapClientTemplate 在 “org.springframework.orm.ibatis.support”包下,spring使用的版本为:

<dependency><groupId>org.springframework</groupId><artifactId>spring</artifactId><version>2.5.5</version><type>jar</type><scope>compile</scope></dependency>

注:

1、xml中,返回类型和Java接收类型需要一致。例子中用的都是String

2、接收主键值时,使用的是SqlMapClientTemplate的insert方法

3、主键值并不是直接的返回值,而是会设置到指定的字段中,例子中用的是id,故接收时用:unFreezeRecord.getId()


1 0
原创粉丝点击