2015-04-11 3 views
0

Я немного не знаком с Spring и Spring JDBC Template. Я извлекаю некоторые строки из моей базы данных с помощью mysql. Запрос будет давать нулевые результаты в несколько раз. Поэтому мне нужно выполнить нулевую проверку для результатов, полученных с помощью шаблона JDBC.Spring JDBC Template check for Null results

Это мой код для извлечения данных из базы данных.

try { 
     String sqlArrears = "SELECT SUM(total_payable) FROM letter_delaypayments WHERE status = '1' AND customer_order_id = '"+customerOrderIdList.get(j)+"' AND year(row_added_date) = year(curdate()) AND month(row_added_date) = month(curdate())"; 

     double arrearsAmountForSingleCustomer = getSimpleJdbcTemplate().queryForObject(sqlArrears, Double.class); 

    } catch (Exception e) { 
        System.out.println("EXCEPTION: While taking relavant arrears payments for customer order ids : "+e); 
    } 

В некоторых случаях в таблице базы данных могут не быть строк. В этих случаях этот запрос проходит Null pointer exception.

Так что мне нужно знать, могу ли я проверить значение NULL, которое оно возвращает, и поставить исключение в этих случаях или иначе. Должен ли я искать совпадение строк, с которым связан конкретный запрос, а затем выполнить поиск.

т.е. - обратите внимание на количество строк конкретных матчей запроса,

  • если 0, добавить исключение.
  • Если это> 1, извлеките результаты, используя указанный выше запрос.

Что мне здесь делать? Не могли бы вы сообщить мне, есть ли способ проверить нулевой результат, в то же время запрос извлекает результаты.

Спасибо!

ответ

0

Я бы предположил, что такая логика принадлежит сервису. Ваш DAO может вернуть Double (не double), и вы можете проверить значение null на уровне сервиса.

+0

, но здесь он возвращает нуль, а затем исключение. – vigamage

+0

Задача уровня DAO заключается в возврате данных, а не принятии решений о том, что делать с этими данными. Эти решения лучше всего зарезервировать для уровня обслуживания. –

Смежные вопросы