mybatis 批处理使用
批量插入
<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>
注意
- 如果导入数据量过大,需要限制数量,分批进行操作,而不是一次插入或者更新
- 如果有主键重复数据提前筛选掉
- 如果数据是在有数据的时候更新,无数据的时候插入,需要判断后面的数据不在表中,也不在刚才已经插入的主键中,才可以。
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果