mybatis をバッチ操作として使用して、1000 レコードをテーブル (Oracle DB) に挿入しようとしています (sqlsessionTemplate の ExecutorType.Batch と<foreach>
マッパー xml のタグを使用)。
挿入するマッパー関数の実行中にエラーが発生した場合、残りのバッチ挿入プロセスをスキップして完全にロールバックします。
私たちの要件は、失敗したレコードのエラーをログに記録し、残りのレコードの挿入を続行することです。
これを達成するために 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