0
以下代码使用JdbcTemplate.batchUpdate()将行插入到数据库中;Spring JdbcTemplate.batchUpdate()失败时尝试的最佳策略
Map<String,Object>[] batchValues = ...;
namedParameterJdbcTemplate.batchUpdate(sql, batchValues);
当它失败时,抛出DataAccessException。 我仍然无法确定哪些行(即地图中的条目)存在问题并导致异常。目前,当抛出这样的异常时,我们试图单独插入每一行。有更好的方法吗? 谢谢
问题是,据我所看到的,batchUpdate()只会在batch实际完成时为批处理中的每个操作返回一个更新计数 - 否则抛出DataAccessException,并且无法容易地识别哪个'行'是有问题的。如果有某种方法来识别这些,那将是非常棒的。 – user1052610
DataAccessException应该包含原因,它应该是一个'java.sql.BatchUpdateException',您可以从中检索更新计数(当由基础JDBC提供程序设置时)。 –