0
以下代碼使用JdbcTemplate.batchUpdate()將行插入到數據庫中;Spring JdbcTemplate.batchUpdate()失敗時嘗試的最佳策略
Map<String,Object>[] batchValues = ...;
namedParameterJdbcTemplate.batchUpdate(sql, batchValues);
當它失敗時,拋出DataAccessException。 我仍然無法確定哪些行(即地圖中的條目)存在問題並導致異常。目前,當拋出這樣的異常時,我們試圖單獨插入每一行。有更好的方法嗎? 謝謝
問題是,據我所看到的,batchUpdate()只會在batch實際完成時爲批處理中的每個操作返回一個更新計數 - 否則拋出DataAccessException,並且無法容易地識別哪個'行'是有問題的。如果有某種方法來識別這些,那將是非常棒的。 – user1052610
DataAccessException應該包含原因,它應該是一個'java.sql.BatchUpdateException',您可以從中檢索更新計數(當由基礎JDBC提供程序設置時)。 –