sql文の一括更新の簡単な書き方

1218 ワード

最近大量にデータを更新する必要があります。大量に更新する方法を使って、動的sqlを見て、これを書きました。性能はそんなに高くないですが、なんとか使えます。後でcase whenの高性能sqlを研究してみます。
入ってきたのは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}