Я обновляю несколько записей в базе данных.Теперь, когда пользовательский интерфейс отправляет список записей для обновления, я должен просто обновить эти записи в базе данных.Для этого я использую шаблон JDBC.
Предыдущий регистр
Раньше, чем я был, когда получал записи из пользовательского интерфейса, я просто делал
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 block внутри цикла :(.
Пожалуйста, поправьте меня, действительно нужно учиться лучше, потому что я сам чувствую, что должен быть лучший способ, спасибо.