我正在更新数据库中的多条记录。现在,每当 UI 发送要更新的记录列表时,我只需更新数据库中的这些记录。我为此使用 JDBC 模板。
早期案例
早些时候,每当我从 UI 获得记录时,我就是这样做的
jdbcTemplate.batchUpdate(Query, List<object[]> params)
每当出现异常时,我都会回滚整个事务。
(更新:batchUpdate 是多线程的还是在某种程度上比批处理更新更快?)
后期案例
但后来,只要有例外,要求就会改变。因此,每当出现异常时,我应该知道哪些记录未能更新。因此,如果出现异常,我不得不将记录发送回 UI,原因是它们为什么失败。
所以我不得不做类似的事情:
for(Record record : RecordList)
{
try{
jdbcTemplate.update(sql, Object[] param)
}catch(Exception ex){
record.setReason("Exception : "+ex.getMessage());
continue;
}
}
那么我是否通过使用循环以正确的方式执行此操作?
如果是的话,有人可以建议我如何使它成为多线程的。或者在这种情况下有什么问题。说实话,我很犹豫在循环中使用 try catch 块:(。
请纠正我,真的需要学习更好的方法,因为我自己觉得,必须有更好的方法,谢谢。