1

我正在尝试使用 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

4

0 回答 0