`
mowengaobo
  • 浏览: 161395 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

iBATIS自动生成主键(oracle,sqlserver,mysql)

阅读更多

iBATIS自动生成主键(oracle,sqlserver,mysql)

 


我们在数据库插入一条数据的时候,经常是需要返回插入这条数据的主键。但是数据库供应商之间生成主键的方式都不一样。
有些是预先生成(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 SQL SERVER数据库使用示例

    该示例演示使用iBATIS操纵Oracle、MySQL和MS SERVER三种数据库(实现查询与新增动作),只需要修改配置档与SQL影射档即可,而Java部分的代码不用修改。本人觉得,该框架一个非常简单、使用方便的持久层框架。其中:...

    MyBatis Generator 自动成成文件项目源码

    内含mysql 和 oracle 理论上sqlserver也是可以使用的,笔者亲测,非常好用,不会生成多余代码,求点赞 使用方法:右键mybatis-generator-mysql.xml 或者mybatis-generator.xml文件 分别对应mysql和oracle Generator ...

    java面试宝典和学习必备

    3、数据库 mysql,oracle,sqlserver。最常用的数据库oracle,同时也是最大型的数据库。 4、服务器,maven,tomcat,jetty. 5、中心控制器,tapestry.、jsf、struts2. 6、视图层、tml、extjs、xhtml、jsp、html。 7、代码...

    Java高手真经_应用框架卷:Java_Web核心框架_mk

    持久层框架hibernate:...持久层框架ibatis:讲解ibatis入门与核心技术,分别实现MySQL,oracle、SQLserver数据库的信息系统开发 表现层struts1 :讲解struts1 的入门配置,核心组件,标签库,国际化,数据校验 等等

    Java高手真经_应用框架卷_Java_Web核心框架.part1.rar

     持久层框架ibatis:讲解ibatis入门与核心技术,分别实现mysql、oracle、sql server数据库的信息系统开发。  表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、...

    Java高手真经_应用框架卷_Java_Web核心框架.part2.rar

     持久层框架ibatis:讲解ibatis入门与核心技术,分别实现mysql、oracle、sql server数据库的信息系统开发。  表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、...

    Java高手真经_应用框架卷_Java_Web核心框架.part3.rar

     持久层框架ibatis:讲解ibatis入门与核心技术,分别实现mysql、oracle、sql server数据库的信息系统开发。  表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、...

    方立勋jDBC ppt文档

    方立勋,精通C/C++ /VC++、VB、JAVA等编程语言,Oracle 、MySql和SQL Server等各种主流数据库系统。对J2EE有深入理解,尤其是对 Java安全和以Java语言为基础的各种框架有深入研究,包括Struts、Spring、Hibernate 、...

    Java高手真经 应用框架卷 源码

    持久层框架iBATIS:讲解iBATIS入门与核心技术,分别实现MySQL、Oracle、SQL Server数据库的信息系统开发。表现层框架Struts 1:讲解Struts 1的入门配置、核心组件、标签库、国际化、数据校验、Sitemesh集成、数据库...

    java高手真经 java web核心框架 源码二

    java高手真经 java web核心框架 第11课 ibatis+mysql java高手真经 java web核心框架 第12课 ibatis+oracle java高手真经 java web核心框架 第13课 ibatis+sqlserver

    struts+spring+ibatis+hibernate项目所需jar包全

    提供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 ...

    非常苛刻的java工作要求

    5. 熟悉Oracle、MySQL、sql server、DB2数据库,了解SQL语句优化。 6 熟悉SVN,git等工具。 7、具备良好的编码风格和开发习惯,熟练掌握UML设计工具; 8、熟悉linux或unix操作系统文件系统以及常用命令; 9. 熟悉...

    DBKING使用指南

    目前工具在Oracle 11g、Microsoft SQLServer 2012、MySQL 5.x、DB2 10.x、Sybase 15.x、PostgreSQL 9.x、Derby 10.x上通过了测试。 2、通过生成器创建BO类及DAO层代码  这是一个配合dbking的代码...

Global site tag (gtag.js) - Google Analytics