mybatis番外篇(一)自动生成键selectkey
来源:互联网 发布:淘宝客服热线 编辑:程序博客网 时间:2024/06/09 20:19
我们在数据库插入一条数据的时候,经常是需要返回插入这条数据的主键。但是数据库供应商之间生成主键的方式都不一样。
有些是预先生成(pre-generate)主键的,如Oracle和PostgreSQL;有些是事后生成(post-generate)主键的,如MySQL和SQL Server。但不管是哪种方式,我们都可以用ibatis的节点来获取语句所产生的主键。
1、oracle例子:
<insert id="insertProduct-ORACLE" parameterClass="product"> <selectKey resultClass="int" type="pre" keyProperty="id" > SELECT STOCKIDSEQUENCE.NEXTVAL AS VALUE FROM DUAL </selectKey> insert into PRODUCT (PRD_ID,PRD_DESCRIPTION) values (#id#,#description#) </insert>
2、sql-server例子:
<insert id="insertProduct-MS-SQL" parameterClass="product"> insert into PRODUCT (PRD_DESCRIPTION) values (#description#) <selectKey resultClass="int" type="post" keyProperty="id" > select @@IDENTITY as value </selectKey> </insert>
3、mysql例子:
<insert id="insertProduct-MYSQL" parameterClass="product"> insert into PRODUCT (PRD_DESCRIPTION) values (#description#) <selectKey resultClass="int" type="post" keyProperty="id" > select LAST_INSERT_ID() as value </selectKey> </insert>
2、SQLite例子:
<insert id="Create" parameterClass="Subject"> INSERT INTO SUBJECT (SubjectName,QuestionCount,IsNowPaper) VALUES(#SubjectName#,#QuestionCount#,#IsNowPaper#) <selectKey resultClass="int" type="post" property="SubjectId"> SELECT seq FROM sqlite_sequence WHERE (name = 'SUBJECT') </selectKey> </insert><span style="font-family: 微软雅黑, 'Microsoft YaHei'; background-color: rgb(255, 255, 255);"> </span>
注意:name = 'SUBJECT'中SUBJECT为表名称
0 0
- mybatis番外篇(一)自动生成键selectkey
- Mybatis自动生成key值(selectKey和useGeneratedKeys)
- Mybatis自动生成key值(selectKey和useGeneratedKeys)
- ibatis自动生成键selectkey(Oracle、MYSQL、MSSQL、SQLITE)
- ibatis自动生成键selectkey(Oracle、MYSQL、MSSQL、SQLITE)
- Mysql-ibatis 自动生成主键(selectKey)
- Mysql-ibatis 自动生成主键(selectKey)
- mybatis的selectKey用来给不支持自动生成主键的数据库用,什么意思?
- Mysql-ibatis 自动生成主键(selectKey)
- Mybatis - SelectKey
- Mybatis——<selectKey>生成主键/获取插入数据主键
- 用ibatis selectKey 返回自动生成的主键值
- Mybatis 示例之 SelectKey
- mybatis的selectKey功用
- MyBatis <selectKey>标签
- Mybatis 示例之 SelectKey
- Mybatis 示例之 SelectKey
- Mybatis 示例之 SelectKey
- MySQL5.6分区数量太多引发的血案
- 2016年第一周目标制定
- 判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
- ajax 跨域访问问题
- static
- mybatis番外篇(一)自动生成键selectkey
- urllib 详解
- leetcode1--Two Sum
- HashMap、HashTable、LinkedHashMap和TreeMap
- linux的nohup命令的用法
- 五家共井
- $.parseJSON(data)只支持标准的JSON
- 微信测试订阅号开发错误总结
- UIView.frame的骗局