Использование Spring JdbcTemplate, я пытался выяснить, как можно очистить исключения в слое DAO, но, похоже, не может понять это. Я хочу зарегистрировать SQL-оператор, который был использован и параметров.Spring JdbcTemplate как регистрировать параметры на исключениях?
Например, где addStoreSql является Параметризированным заявлении,
public int addStore(Store store) {
return jdbcTemplate.update(addStoreSql, store.getId(), store.getName());
}
я делаю что-то вроде ..
public int addStore(Store store) {
try{
return jdbcTemplate.update(addStoreSql, store.getId(), store.getName());
} catch (DataAccessException ex) {
logger.error("exception on deleting store - " + store.toString(), ex);
throw ex;
}
}
Моим вопрос, есть ли способ, чтобы написать это чище во многом дао методы? Возможно, на уровне регистратора или в библиотеке Spring? Или это самый чистый способ (или код выше, даже плохой)?
У меня есть несколько методов, которые выполняют в основном одно и то же, принимают объект, передают поля в запрос и возвращают результат.
Я думаю, что вопрос, который я обозначил как дубликат, должен ответить на ваш вопрос. вероятно, самым общим решением является использование прокси-драйвера (p6spy или log4jdbc), на который распространяется ответ Balus.я не люблю catch-log-rethrow, регистрируя исключения более одного раза в каждом случае, что делает журналы более трудными для чтения. –
Ну, эта ссылка предназначена для стандартных библиотек java jdbc, о которых я знал. Но мой вопрос связан с библиотеками _Spring_. Я чувствую, что, возможно, что-то не хватает, возможно, используя АОП? Или, может быть, какая-то функция регистрации Spring, которая не входит в стандартную java-библиотеку java. –
Я так не думаю, но было бы интересно посмотреть. Добавьте это разъяснение к вопросу (сделайте его более явным), и я снова открою. –