ItGo.me - 专注IT技术分享

首页 > Mybatis > mybatis批量插入insert

mybatis批量插入insert

时间:2015-01-13来源:网友分享 点击:
MyBatis中批量插入insert的方法:

方法一:
<insert id="insertBatch" parameterType="java.util.List">
  insert into t_user(id,name) values
  <foreach collection="list" item="user" index="index" separator=",">
  ( #{user.id}, #{user.name})
  </foreach>
  </insert>


方法二:
<insert id="batchInsert2" parameterType="ArrayList">
     insert into t_user(id,name)
    <foreach collection="list" item="user" index="index" separator="union all">
      select #{user.id,jdbcType=VARCHAR},#{user.name,jdbcType=VARCHAR} from dual
    </foreach>
</insert>


可以考虑用union all来实现批量插入。
例如:
insert into XX_TABLE(XX,XX,XX)select 'xx','xx','xx' union all select 'xx','xx','xx' union all select 'xx','xx','xx' ...
先拼装好语句再动态传入insert into XX_TABLE(XX,XX,XX)后面部分

mybatis使用版本控制并发

mybatis使用版本控制并发,没什么特别,可利用事务并发访问策略(同一系统事务): 乐观锁:不是在数据库端锁住的,而是程序控制的; 悲观锁:在数据库里面锁住,类似for update查询;...

mybatis批量插入insert

MyBatis中批量插入insert的方法: 方法一: insert id=insertBatch parameterType=java.util.List insert into t_user(id,name) values foreach collection=list item=user index=index separator=, ( #{user.id}, #{user.name}) /foreach /insert 方法二:...

mybatis配置参数及默认值

defaultStatementTimeout设置超时时间,它决定驱动等待数据库响应的秒数。 cacheEnabled 该配置影响的所有映射器中配置的缓存的全局开关。 ...

MyBatis中批量插入insert的方法: 方法一: insert id=insertBatch parameterType=java.util.List insert into t_user(id,name) values foreach collection=list item=user index=index separator=, ( #{user.id}, #{user.name}) /foreach /insert 方法二:
------分隔线----------------------------