流殃的博客

| Comments

批量插入

<insert id="batchInsert" paramerTyper="pojo" useGeneratedKeys="false">
insert all
<foreach collection="list" item="item">
insert table 1,2,,3 values(item.1,item.2,item.3)
</foreach>
select 1 from dual;
</insert>

批量更新

<insert id="batchUpdate" paramerTyper="pojo">
begin
<foreach collection="list" item="item" index="list" separator=",">
update  table set 1=item.1,i2=tem.2,3=item.3) where contno=#{item.contno}
</foreach>
select 1 from dual;
</insert>

注意

  1. 如果导入数据量过大,需要限制数量,分批进行操作,而不是一次插入或者更新
  2. 如果有主键重复数据提前筛选掉
  3. 如果数据是在有数据的时候更新,无数据的时候插入,需要判断后面的数据不在表中,也不在刚才已经插入的主键中,才可以。

Comments

评论