最近做了一个excel的导入,一次性的解析好后做成一个list最后插入数据库中,刚开始都是循环插入的,因为之前
的数据量比较小,所以看不出来效率,但是这个excel的数据大概有3万条,这样循环的话很慢,
于是就想到用批处理,网上找了找,发现很多都是基于mysql'的,oracle还真不多,于是查资料,总算找到了,只需要配置一个mapper文件就行了
<insert id="insertBatch" parameterType="java.util.List">
insert into TEST
( TEST_ID,
TEST_NAME)
<foreach collection="testList" item="test" index="index"
separator="union all">
( select
#{test.id,jdbcType=VARCHAR},
#{test.name,jdbcType=VARCHAR},
from dual)
</foreach>
</insert>
也是比较简单,效率快多了