sql文の一括更新の簡単な書き方
1218 ワード
最近大量にデータを更新する必要があります。大量に更新する方法を使って、動的sqlを見て、これを書きました。性能はそんなに高くないですが、なんとか使えます。後でcase whenの高性能sqlを研究してみます。
入ってきたのはmapで、mapの中にはlistが置いてあります。
入ってきたのはmapで、mapの中にはlistが置いてあります。
UPDATE account_generalledger SET initialAmount = #{item.initialAmount,jdbcType=DECIMAL},
debit = #{item.debit,jdbcType=DECIMAL},
credit = #{item.credit,jdbcType=DECIMAL},
totalAmount = #{item.totalAmount,jdbcType=DECIMAL},
initialFC = #{item.initialFC,jdbcType=DECIMAL},
debitFC = #{item.debitFC,jdbcType=DECIMAL},
creditFC = #{item.creditFC,jdbcType=DECIMAL},
totalFC = #{item.totalFC,jdbcType=DECIMAL},
initialNum = #{item.initialNum,jdbcType=DECIMAL},
debitNum = #{item.debitNum,jdbcType=DECIMAL},
creditNum = #{item.creditNum,jdbcType=DECIMAL},
totalNum = #{item.totalNum,jdbcType=DECIMAL},
updateUserCode = #{updateUserCode,jdbcType=VARCHAR},
updateTime = SYSDATE()
WHERE companyId = #{companyId,jdbcType=VARCHAR}
AND subjectId = #{item.subjectId,jdbcType=INTEGER}
AND periodId = #{item.periodId,jdbcType=INTEGER}