| 
 | 
| 
 
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=40079075&tid=2120417]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    14ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    68ms | 
get topic data:  | 
    11ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    54ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 234ms | 
| total: | 404ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...