Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
21.06.2021, 09:32
|
|||
---|---|---|---|
|
|||
jdbcTemplate.queryForObject |
|||
#18+
Есть метод, который должен вставить в таблицу error_log запись в случае ошибки при обновлении. Как в этом случае правильно отловить ошибку в soldCarServiceDTO, чтобы soldCarServiceDTO.getPurchase_datetime()!=null Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9.
Чтобы записать параметр я использую RowMapper Код: java 1.
Впринципе вместо Код: java 1.
можно использовать простую конструкцию Код: java 1.
но здесь без RowMapper не отловить ошибку ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.06.2021, 09:52
|
|||
---|---|---|---|
|
|||
jdbcTemplate.queryForObject |
|||
#18+
т.е в случае возникновения ошибки необходимо в таблицу error_log сделать запись с конкретной ошибочной датой в пределах purchase_datetime. Например soldCarServiceDTO.getPurchase_datetime()='2020-02-05' для этой записи не произошло обновления Возможно ли вообще в таком sql запросе перехватить конкретную дату? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.06.2021, 10:01
|
|||
---|---|---|---|
jdbcTemplate.queryForObject |
|||
#18+
Как то так update ... where getPurchase_datetime()='2020-02-05' and update_files != $update_value ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.06.2021, 10:44
|
|||
---|---|---|---|
|
|||
jdbcTemplate.queryForObject |
|||
#18+
lleming, soldCarServiceDTO.getPurchase_datetime()='2020-02-05' - это пример, конкретики нет где возможно может свалиться ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.06.2021, 12:58
|
|||
---|---|---|---|
jdbcTemplate.queryForObject |
|||
#18+
А есть steps по воспроизведению ошибки? Просто мне кажется что мы ловим то чего нет. И запись в лог делают в автономной транзакции. Тут точно есть фиксация? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.06.2021, 13:00
|
|||
---|---|---|---|
|
|||
jdbcTemplate.queryForObject |
|||
#18+
Почему-то мне кажется, в приведенном коде всегда будем попадать в catch, потому что запрос не возвращает набор данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.06.2021, 13:26
|
|||
---|---|---|---|
jdbcTemplate.queryForObject |
|||
#18+
В любом случае ему надо (по доке) проверить результат на null и ловить не Exception а IncorrectResultSizeDataAccessException, и DataAccessException. https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jdbc/core/JdbcTemplate.html Ну и update... это странно. Что он возвращает? Обычно число обновлённых data-rows. Или это какая-то экзотическая dbms что может вернуть нечто более ценное? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.06.2021, 23:02
|
|||
---|---|---|---|
|
|||
jdbcTemplate.queryForObject |
|||
#18+
mayton, Разобрался. Можно получить через batchUpdate, передав параметры. Как раз возвращает массив Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
И уже массив result проверять на наличие ошибок проходясь по нему. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=59&tablet=1&tid=2120417]: |
0ms |
get settings: |
26ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
238ms |
get tp. blocked users: |
3ms |
others: | 372ms |
total: | 714ms |
0 / 0 |