ibatis的主键生成方式
来源:互联网 发布:win7网络在哪里 编辑:程序博客网 时间:2024/05/17 08:53
对于任何数据库来说,提供唯一标识数据表中一行记录的能力是至关重要的。几乎所有数据库都提供了为新添加的行自动生成主键的方法。这样再操作数据库的时候比较方便,但它也带来了一个问题,如果我们需要知道新生成的主键值该怎么办?
有的数据库供应商是预先生成(pre-generate)主键的(如Oracle和PostgreSQL),有的则是事后生成(post-generate)的(如SQL Server和MySQL)。不管是哪种方式,我们都可以使用<selectKey>节点来获取<insert>语句所产生的主键。下面的例子演示了这两种方式下的做法:
<!-- Oracle SEQUENCE Example using .NET 1.1 System.Data.OracleClient -->
<insert id="insertProduct-ORACLE" parameterClass="product">
<selectKey resultClass="int" type="pre" property="Id" >
SELECT STOCKIDSEQUENCE.NEXTVAL AS VALUE FROM DUAL
</selectKey>
insert into PRODUCT (PRD_ID,PRD_DESCRIPTION) values (#id#,#description#)
</insert>
<!-- Microsoft SQL Server IDENTITY Column Example -->
<insert id="insertProduct-MS-SQL" parameterClass="product">
insert into PRODUCT (PRD_DESCRIPTION)
values (#description#)
<selectKey resultClass="int" type="post" property="id" >
select @@IDENTITY as value
</selectKey>
</insert>
<!-- MySQL Example -->
<insert id="insertProduct-MYSQL" parameterClass="product">
insert into PRODUCT (PRD_DESCRIPTION)
values (#description#)
<selectKey resultClass="int" type="post" property="id" >
select LAST_INSERT_ID() as value
</selectKey>
</insert>
- ibatis的主键生成方式
- ibatis的主键生成方式
- ibatis 自动生成的主键
- ibatis 自动生成的主键
- ibatis sql主键自动生成方式
- ibatis学习笔记-SQL主键生成方式
- 主键的生成方式
- iBatis获得自动生成的主键
- iBatis自动生成的主键返回问题
- ibatis无法生成主键的原因
- ibatis扩展支持主键生成的方法(非数据库方式)
- ibatis扩展支持主键生成的方法(非数据库方式)
- IBatis 自动生成主键
- ibatis主键生成策略
- Hibernate的主键生成方式
- Hibernate的主键生成方式
- Hibernate的主键生成方式
- Hibernate的主键生成方式
- 字符编码:ASCII,Unicode和UTF-8
- UVA 624
- java项目内存溢出解决方法
- android的编译过程详解
- jQuery的页面载入事件
- ibatis的主键生成方式
- Python模块subprocess小记
- Cocos2d-x3.1通过JniHelper调用Java类中静态函数
- [最小生成树小结]hdu1875/hdu1879/poj2395/poj2421/poj2485/poj1258/poj2349
- 软件测试工程师的职业发展之路
- STL 剖析
- ibatis解决sql注入问题 .
- 超简单画出菱形
- Python logging模块