我正在尝试使用 mybatis 作为批处理操作(在 sqlsessionTemplate 中使用 ExecutorType.Batch 和<foreach>
映射器 xml 中的标记)将 1000 条记录插入到表(Oracle DB)中。
在执行 mapper 函数插入时,如果中间有任何错误,则完全回滚,跳过剩余的批量插入过程。
我们的要求是记录任何失败的记录的错误,并继续插入剩余的记录。
mybatis-batch insert 中是否有任何可能性/选项可以实现这一点。
映射器 XML 中使用的示例查询:
<insert id="addSampleBatch" parameterType='java.util.Map'>
INSERT ALL
<foreach collection="sampleList" item="vehicle">
INTO
vehicle
(id,name)
VALUES
(#{vehicle.id},
#{vehicle.name} )
</foreach>
SELECT * FROM dual
</insert>
myBatis 版本:3.2.8
mybatis-spring jar 版本:1.2.2