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

  • 相关阅读:
    使用360安全卫士在线对本机电脑进行重装系统
    分享个人电脑上的文件
    Docker初探之运行RabbitMQ消息队列服务
    Docker初探之运行MySQL
    Docker初探之常用命令实践
    Docker初探之Windows篇
    SignalR入门之多平台SignalR服务端
    SignalR入门之从外部访问持久性连接或Hub
    SignalR入门之Hub
    SignalR入门之小试身手
  • 原文地址:https://www.cnblogs.com/deepstone/p/3410580.html
Copyright © 2011-2022 走看看