我正在更新數據庫中的多個記錄。現在,無論何時UI發送要更新的記錄列表,我都必須更新數據庫中的這些記錄。我正在使用JDBC模板。在java中以多線程方式插入或更新數據庫中的多個記錄
此前案例
早些時候我是什麼時候我得到了記錄從UI,我只是做
jdbcTemplate.batchUpdate(Query, List<object[]> params)
每當有一個例外,我用於回滾整個事務。
(更新:是BATCHUPDATE多線程或者在某個方面要比批量更新更快?)
後一種情況下
但每當有例外,後來由於需求變化。所以,每當有一些例外,我應該知道哪些記錄無法更新。所以我不得不將這些記錄發回給用戶界面,以避免出現異常,並說明他們爲什麼失敗。
,所以我不得不做一些類似的:
for(Record record : RecordList)
{
try{
jdbcTemplate.update(sql, Object[] param)
}catch(Exception ex){
record.setReason("Exception : "+ex.getMessage());
continue;
}
}
所以,我在正確的方式做這個,通過使用循環?
如果是的話,有人可以建議我如何使它成爲多線程。 或者在這種情況下有什麼問題。 是真實的,我是猶豫使用try catch塊的循環:(內。
請指正,確實需要學習一個更好的辦法,因爲我自己覺得,必須有一個更好的方法,謝謝。
而不是做在同一行觸摸單獨的線程批量更新,你爲什麼不嘗試拆分在你的線程中以非衝突的方式完成工作? – stevevls