很多数据库支持自动生成主键的数据类型。不过这通常(并不总是)是个私有的特性。SQL Map通过<insert>的子元素<selectKey>来支持自动生成的键值。它同时支持预生成(如Oracle)和后生成两种类型(如MS-SQL Server)。下面是两个例子:
<
!—Oracle SEQUENCE Example -->
<insert id="insertProduct-ORACLE" parameterClass="com.domain.Product">
<selectKey resultClass="int" keyProperty="id" >
SELECT STOCKIDSEQUENCE.NEXTVAL AS ID 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="com.domain.Product">
insert into PRODUCT (PRD_DESCRIPTION)
values (#description#)
<selectKey resultClass="int" keyProperty="id" >
SELECT @@IDENTITY AS ID
</selectKey>
</insert>
相关文章
- 自动生成Mapper和Entity工具MybatisGenerator的使用
- Doxygen自动文档生成工具在Eclipse中的集成及使用举例
- JDBC学习笔记(6)——获取自动生成的主键值&处理Blob&数据库事务处理
- 基于按annotation的hibernate主键生成策略
- jpa基于按annotation的hibernate主键生成策略
- eclipse android 不会自动生成R.java文件和包的解决办法
- 分布式系统中我们会对一些数据量大的业务进行分拆,分布式系统中唯一主键ID的生成问题
- 懒人小工具:T4自动生成Model,Insert,Select,Delete以及导出Excel的方法
- 在MySQL或者SQLServer中,添加对象后自动返回主键到对象模型中的配置方式
- DEDECMS去掉自动生成首页或栏目后面带的index.html