|
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:32 |
|
jdbcTemplate.queryForObject
|
|||
---|---|---|---|
#18+
т.е в случае возникновения ошибки необходимо в таблицу error_log сделать запись с конкретной ошибочной датой в пределах purchase_datetime. Например soldCarServiceDTO.getPurchase_datetime()='2020-02-05' для этой записи не произошло обновления Возможно ли вообще в таком sql запросе перехватить конкретную дату? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2021, 09:52 |
|
jdbcTemplate.queryForObject
|
|||
---|---|---|---|
#18+
Как то так update ... where getPurchase_datetime()='2020-02-05' and update_files != $update_value ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2021, 10:01 |
|
jdbcTemplate.queryForObject
|
|||
---|---|---|---|
#18+
lleming, soldCarServiceDTO.getPurchase_datetime()='2020-02-05' - это пример, конкретики нет где возможно может свалиться ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2021, 10:44 |
|
jdbcTemplate.queryForObject
|
|||
---|---|---|---|
#18+
А есть steps по воспроизведению ошибки? Просто мне кажется что мы ловим то чего нет. И запись в лог делают в автономной транзакции. Тут точно есть фиксация? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2021, 12:58 |
|
jdbcTemplate.queryForObject
|
|||
---|---|---|---|
#18+
Почему-то мне кажется, в приведенном коде всегда будем попадать в catch, потому что запрос не возвращает набор данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2021, 13:00 |
|
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, 13:26 |
|
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 проверять на наличие ошибок проходясь по нему. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2021, 23:02 |
|
|
start [/forum/topic.php?fid=59&msg=40079123&tid=2120417]: |
0ms |
get settings: |
18ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
22ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
186ms |
get tp. blocked users: |
1ms |
others: | 274ms |
total: | 514ms |
0 / 0 |