【发布时间】:2012-04-06 06:14:33
【问题描述】:
目前我们的代码使用 JdbcTemplate 的 batchUpdate 方法进行批量插入。
我的问题是,如果其中一个更新出现任何异常,如何处理(假设只是添加日志)并继续执行下一个更新 sql 语句?
还有 JdbcTemplate 的 batchUpdate() 方法如何处理异常?
这里是片段。
/**
* Saves the list of <code>Item</code> objects to the database in a batch mode
*
* @param objects
* list of objects to save in a batch mode
*/
public void save(final List<Item> listOfItems) {
for (List<Debit> list : listOfItems) {
getJdbcTemplate().batchUpdate(insertItem, new ItemBatchPreparedStatementSetter(list));
}
}
【问题讨论】:
-
在批量更新中处理错误并不容易,并且没有一种解决方案。这取决于您想要如何处理它。
-
@skaffman 你知道处理 Spring 批量更新错误的方法吗?当使用异常翻译时,似乎第一个遇到的被翻译并抛出,因此返回的更新计数丢失。这很奇怪。
标签: spring jdbc jdbctemplate spring-jdbc batch-updates