• 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的值。

  • 相关阅读:
    ZOJ 3327 Friend Number
    ZOJ 3324 Machine
    2010-2011 ACM-ICPC, NEERC, Southern Subregional Contest C Explode 'Em All
    UVA 12594 Naming Babies
    POJ 3709 K-Anonymous Sequence
    POJ 1180 Batch Scheduling
    POJ 1160 Post Office
    HDU 3516 Tree Construction
    HDU 3045 Picnic Cows
    UVALive 5097 Cross the Wall
  • 原文地址:https://www.cnblogs.com/deepstone/p/3410580.html
Copyright © 2020-2023  润新知