最近在做同步数据功能,就是将缓存里面的数据每天定时更新到oracle,如果是一条一条添加,肯定会影响效率,虽然说同步时间可以避开高峰期,但是采用批量添加肯定会好一些,具体代码如下:
<insert id="insertBatch" parameterType="java.util.List" useGeneratedKeys="false">
insert into LOGGER (
ID,
SYNC_TYPE,
SYNC_TIME,
SYNC_FLAG,
REMARK)
<foreach close=")" collection="list" item="item" index="index" open="(" separator="union">
select
#{item.id},
#{item.syncType},
#{item.syncTime},
#{item.syncFlag},
#{item.remark}
from dual
</foreach>
</insert>这里需要注意: useGeneratedKeys="false" 否则会报错。
本文介绍了一种通过批量插入方式提高数据同步效率的方法。利用MyBatis的foreach标签实现多条记录的同时插入,避免了逐条添加导致的效率低下问题。
1435

被折叠的 条评论
为什么被折叠?



