レコードが既に存在するかどうかに基づいて、レコードを挿入または更新する必要があります。
JdbcBatchItemWriter を使用してレコードを書き込んでいます。しかし、主キーを持つレコードが既に存在する場合は、それを更新する必要があります...
したがって、1つの解決策は次のとおりです。
挿入用と更新用の 2 つの個別のリストを作成するには (注: レコードが既に存在するかどうかを毎回プロセッサでチェックして、リストの 1 つにレコードを追加する必要があります)、ライターに 2 つの異なる JdbcBatchItemWriter インスタンスを作成します。 、 例えば:
JdbcBatchItemWriter<insertList> insertWriter;
JdbcBatchItemWriter<updateList> updateWriter;
バッチ更新時にすでに存在するレコードに基づいてライターのクエリを切り替える他の方法はありますか...つまり、1つだけです
JdbcBatchItemWriter<mylist> allWriter...and
allWriter.write(mylistallitems);
マージ クエリを使用することを考えていますが、パフォーマンスの問題はありますか?