`
yznxing
  • 浏览: 367826 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ibatis的selectkey小学习

    博客分类:
  • java
阅读更多

背景:
      在使用ibatis插入数据进数据库的时候,会用到一些sequence的数据,有些情况下,在插入完成之后还需要将sequence的值返回,然后才能进行下一步的操作。
      使用ibatis的selectKey就可以得到sequence的值,同时也会将值返回。不过对于不同的数据库有不同的操作方式。
      对于oracle:
      <insert id="insertUser" parameterClass="ibatis.User">
           <selectKey resultClass="long" keyProperty="id">
              select SEQ_USER_ID.nextval as id from dual
          </selectKey>
           insert into user
          (id,name,password)
          values
          (#id#,#name#,#password#)
      </insert>
       该句话执行完之后,传进来的参数User对象DO里的id字段就会被赋值成sequence的值。

     对于mysql
     <insert id="insertUser" parameterClass="ibatis.User">
          insert into user
          (name,password)
          values
          (#name#,#password#)
           <selectKey resultClass="long" keyProperty="id">  
             SELECT LAST_INSERT_ID() AS ID  
        </selectKey>  
      </insert>
       将selectKey放在insert之后,通过LAST_INSERT_ID()  获得刚插入的自动增长的id的值。

 

 

 

2
0
分享到:
评论
1 楼 king130520 2010-08-12  

相关推荐

    原创的一个iBatis例子

    PRIMARY KEY (ID) ); insert into PERSON values (1,'ng','Huang'); insert into PERSON values (2,'zh','Ni'); insert into PERSON values (3,'zy','Huang'); src下有三个目录: ibator/config:配置文件,其中...

    ibatis PPT

    iBatis简介 搭建环境 配置文件 基本的CRUD操作 模糊查询 自动主键selectKey 优点

    前端-后端java的Util类的工具类

    │ │ │ frame-sourcefiles-org.apache.ibatis.executor.loader.cglib.html │ │ │ frame-sourcefiles-org.apache.ibatis.executor.loader.html │ │ │ frame-sourcefiles- org.apache.ibatis.executor.loader...

    sqlmap配置.pdf

    例如:&lt;insert id="insertAccount" parameterClass="Account"&gt; &lt;selectKey resultClass="long" keyProperty="sctId"&gt; SELECT SEQ_TEST.NEXTVAL FROM DUAL &lt;/selectKey&gt;...。在 MySQL 中,可以使用 LAST_INSERT_ID() ...

    springmybatis

    PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; Insert INTO `user` VALUES ('1', 'summer', '100', 'shanghai,pudong'); 到此为止,前期准备工作就完成了。下面开始真正配置...

    spring chm文档

    14.5.2. 小结 14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的...

    JAVA代码生成工具

    g.generateBySql("select * from user_info where pwd=:pwd") 方法可以引用的变量 sql : cn.org.rapid_framework.generator.provider.db.sql.model.Sql 4.公共变量 env : 系统环境变量 System....

    JdbcTemplateTool.zip

    Spring 出品的 JdbcTemplate 对于不想使用hibernate或者ibatis那样需要大量学习成本而且还想获得对象化的人来说是很好用的。但是 JdbcTemplate还是有很多不足之处或者说是缺点。比如你没法像hibernate那样直接传一个...

    Spring中文帮助文档

    14.5.2. 小结 14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的...

    Spring API

    14.5.2. 小结 14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的...

Global site tag (gtag.js) - Google Analytics