1、聲明式事務。@Transcation
---- 問題: 大量的操作在一個函數里,會導致鎖的時間長,特別是中間夾雜第三方操作的時候,進而導致響應超時,或者數據庫線程池被占光。
2、編程使事務 TranscationTemplate
並且用帶版本號的樂觀鎖。
表中加version字段,表示版本。
先確定要修改記錄的version值位 100
在TranscationTemplate的執行方法中,執行SQL語句:UPDATE TABLE SET COL1='',VERSION=VERSION+1 WHERE COL2='' AND VERSION = 100;
並且獲取返回值,也就是修改掉的條數。
如果條數為1,表示修改成功,也就是可以往下走了。
如果條數不為1,表示修改失敗,也就是不可以往下走。
----- 問題,沒法回滾了。