我们在数据库插入一条数据的时候,经常是需要返回插入这条数据的主键。但是数据库供应商之间生成主键的方式都不一样。
有些是预先生成(pre-generate)主键的,如Oracle和PostgreSQL;有些是事后生成(post-generate)主键的,如MySQL和SQL Server。但是不管是哪种方式,我们都可以用iBATIS的节点来获取语句所产生的主键。
例子如下:
假设我的数据库表为PRODUCT (PRD_ID,PRD_DESCRIPTION)。
xml 代码
<!-- oracle Example -->
<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>
<!-- 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" keyProperty="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" keyProperty="id" >
select LAST_INSERT_ID() as value
</selectKey>
</insert>
分享到:
相关推荐
该示例演示使用iBATIS操纵Oracle、MySQL和MS SERVER三种数据库(实现查询与新增动作),只需要修改配置档与SQL影射档即可,而Java部分的代码不用修改。本人觉得,该框架一个非常简单、使用方便的持久层框架。其中:...
内含mysql 和 oracle 理论上sqlserver也是可以使用的,笔者亲测,非常好用,不会生成多余代码,求点赞 使用方法:右键mybatis-generator-mysql.xml 或者mybatis-generator.xml文件 分别对应mysql和oracle Generator ...
3、数据库 mysql,oracle,sqlserver。最常用的数据库oracle,同时也是最大型的数据库。 4、服务器,maven,tomcat,jetty. 5、中心控制器,tapestry.、jsf、struts2. 6、视图层、tml、extjs、xhtml、jsp、html。 7、代码...
持久层框架hibernate:...持久层框架ibatis:讲解ibatis入门与核心技术,分别实现MySQL,oracle、SQLserver数据库的信息系统开发 表现层struts1 :讲解struts1 的入门配置,核心组件,标签库,国际化,数据校验 等等
持久层框架ibatis:讲解ibatis入门与核心技术,分别实现mysql、oracle、sql server数据库的信息系统开发。 表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、...
持久层框架ibatis:讲解ibatis入门与核心技术,分别实现mysql、oracle、sql server数据库的信息系统开发。 表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、...
持久层框架ibatis:讲解ibatis入门与核心技术,分别实现mysql、oracle、sql server数据库的信息系统开发。 表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、...
方立勋,精通C/C++ /VC++、VB、JAVA等编程语言,Oracle 、MySql和SQL Server等各种主流数据库系统。对J2EE有深入理解,尤其是对 Java安全和以Java语言为基础的各种框架有深入研究,包括Struts、Spring、Hibernate 、...
持久层框架iBATIS:讲解iBATIS入门与核心技术,分别实现MySQL、Oracle、SQL Server数据库的信息系统开发。表现层框架Struts 1:讲解Struts 1的入门配置、核心组件、标签库、国际化、数据校验、Sitemesh集成、数据库...
java高手真经 java web核心框架 第11课 ibatis+mysql java高手真经 java web核心框架 第12课 ibatis+oracle java高手真经 java web核心框架 第13课 ibatis+sqlserver
提供ssi ssh项目所需的所有jar包,只需解压放到你的web项目的lib包下...下载--解压--放到web的lib下--发布--启动tomcat即可,帮到你点个赞,缺数据库驱动的,请下载我的资源'mysql+oracle+sqlserver三大数据库驱动包'
基于数据库,内建好数据库的model,并支持多种数据库(mysql,sql server,oracle测试通过) 半手工方式,生成的代码放在某个目录,再手工拷贝回来工作区 易于做二次开发,整个生成器本身就是java源代码,源代码核心十分精简,...
oracle ,mysql,sqlserver,sybase经典文章收集http://www.javago.net/db_pindao.html java专题研究,面试题收集http://www.javago.net/zhuanti_pindao.html 开源专题大权http://www.javago.net/javaopen/index.html ...
5. 熟悉Oracle、MySQL、sql server、DB2数据库,了解SQL语句优化。 6 熟悉SVN,git等工具。 7、具备良好的编码风格和开发习惯,熟练掌握UML设计工具; 8、熟悉linux或unix操作系统文件系统以及常用命令; 9. 熟悉...
目前工具在Oracle 11g、Microsoft SQLServer 2012、MySQL 5.x、DB2 10.x、Sybase 15.x、PostgreSQL 9.x、Derby 10.x上通过了测试。 2、通过生成器创建BO类及DAO层代码 这是一个配合dbking的代码...