zoukankan      html  css  js  c++  java
  • ibatis的selectkey

      在使用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的值。

  • 相关阅读:
    POJ——T2186 Popular Cows || 洛谷——P2341 [HAOI2006]受欢迎的牛
    Tarjan缩点【模板】
    shell(1):网络配置、BATH环境和通配符
    STL
    J
    H
    G
    模板整理(二)
    B
    0-1背包问题
  • 原文地址:https://www.cnblogs.com/deepstone/p/3410580.html
Copyright © 2011-2022 走看看