Java Mybatis批量插入在异常期间无法插入所有记录

Java Mybatis批量插入在异常期间无法插入所有记录,java,spring-batch,mybatis,bulkinsert,spring-mybatis,Java,Spring Batch,Mybatis,Bulkinsert,Spring Mybatis,我正在尝试使用mybatis作为批处理操作,使用mapper xml中sqlsessionTemplate中的ExecutorType.batch和标记,将1000条记录插入到Oracle数据库的表中。 在执行要插入的映射器函数时,如果其间有任何错误,它将完全回滚,跳过剩余的批插入过程。 我们的要求是记录失败记录的错误,并继续插入剩余记录。 mybatis batch insert是否有实现这一目标的可能性/选项 mapper XML中使用的示例查询: <insert id="addSam

我正在尝试使用mybatis作为批处理操作,使用mapper xml中sqlsessionTemplate中的ExecutorType.batch和标记,将1000条记录插入到Oracle数据库的表中。 在执行要插入的映射器函数时,如果其间有任何错误,它将完全回滚,跳过剩余的批插入过程。 我们的要求是记录失败记录的错误,并继续插入剩余记录。 mybatis batch insert是否有实现这一目标的可能性/选项

mapper 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

您是否尝试捕获错误,然后记录日志,然后将其回滚?听起来更像是数据库问题。。。我能写一篇忽略所有错误并不惜一切代价继续下去的插页吗?我个人认为这是一个有趣的问题,顺便说一句,但不太可能有一个简单的解决方案,因为批处理,但不要将其视为批处理失败似乎相当复杂。最明显的答案是删除整个批处理部分,并对每个项目执行一个事务,但您当然不想这样做,因为速度…您使用了stackoverflow标记spring batch您在spring batch中尝试过吗?毕竟它看起来适合skip,请看,您可能可以研究这个问题您是否尝试过捕获错误,然后记录日志,然后将其回滚?听起来更像是数据库问题。。。我能写一篇忽略所有错误并不惜一切代价继续下去的插页吗?我个人认为这是一个有趣的问题,顺便说一句,但不太可能有一个简单的解决方案,因为批处理,但不要将其视为批处理失败似乎相当复杂。最明显的答案是删除整个批处理部分,并对每个项目执行一个事务,但您当然不想这样做,因为速度…您使用了stackoverflow标记spring batch您在spring batch中尝试过吗?毕竟它看起来适合skip,看看你能不能研究一下这个问题