ibatis 的selectKey 实现插入数据后获得id
2013-04-24 14:53
162 查看
在使用ibatis插入数据进数据库的时候,会用到一些sequence的数据,有些情况下,在插入完成之后还需要将sequence的值返回,然后才能进行下一步的操作。
使用ibatis的selectKey就可以得到sequence的值,同时也会将值返回。不过对于不同的数据库有不同的操作方式。
对于oracle:
<insert id="insertUser" parameterClass="ibatis.User">
<selectKey resultClass="long" keyProperty="id">
select SEQ_USER_ID.nextval as id from dual
</selectKey>
insert into user
(id,name,password)
values
(#id#,#name#,#password#)
</insert>
该句话执行完之后,传进来的参数User对象DO里的id字段就会被赋值成sequence的值。
对于mysql
<insert id="insertUser" parameterClass="ibatis.User">
insert into user
(name,password)
values
(#name#,#password#)
<selectKey resultClass="long" keyProperty="id">
SELECT LAST_INSERT_ID() AS ID
</selectKey>
</insert>
将selectKey放在insert之后,通过LAST_INSERT_ID() 获得刚插入的自动增长的id的值。
使用ibatis的selectKey就可以得到sequence的值,同时也会将值返回。不过对于不同的数据库有不同的操作方式。
对于oracle:
<insert id="insertUser" parameterClass="ibatis.User">
<selectKey resultClass="long" keyProperty="id">
select SEQ_USER_ID.nextval as id from dual
</selectKey>
insert into user
(id,name,password)
values
(#id#,#name#,#password#)
</insert>
该句话执行完之后,传进来的参数User对象DO里的id字段就会被赋值成sequence的值。
对于mysql
<insert id="insertUser" parameterClass="ibatis.User">
insert into user
(name,password)
values
(#name#,#password#)
<selectKey resultClass="long" keyProperty="id">
SELECT LAST_INSERT_ID() AS ID
</selectKey>
</insert>
将selectKey放在insert之后,通过LAST_INSERT_ID() 获得刚插入的自动增长的id的值。
相关文章推荐
- 插入返回ibatis 的selectKey 实现插入数据后获得id
- 插入数据库数据并获得新出入的数据的ID
- ibatis 插入数据获得主键值
- Spring中JDBC插入数据后获得该记录的ID
- Spring中JDBC插入数据后获得该记录的ID
- 向Oracle插入数据实现Id自增
- 获得刚插入的数据的 ID
- 获得Oracle中刚插入的数据的ID(for produce)
- 泛型+反射 实现泛型向数据库插入信息类 并返回插入数据的Id值
- sqlserver 2005插入数据后获得插入的自增ID
- .net实现oracle数据库中获取新插入数据的id的方法
- IBatis Mysql 获得刚插入记录的ID
- .net实现oracle数据库中获取新插入数据的id的方法
- iBatis下插入数据返回数据ID的问题
- 用mybatis实现返回刚插入表数据记录的主键值id
- IBatis Mysql 获得刚插入记录的ID
- php获得刚插入数据的id 的 几种方法
- Hibernate插入数据后获得ID
- ibatis插入数据返回id
- mysql获得刚插入数据的ID方法--转载