Индекс параметра вне диапазона (1> количество параметров, равное 0) в JDBCTemplate при получении счетчика с помощью метода queryForObject () - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь получить количество строк с помощью метода jdbctemplate.queryForObject (query, Object [] {}, Integer.class), я определил запрос в файле mysql.properties и передал параметр в object [], но все еще получаюИсключение, пожалуйста, помогите

 mysql.properties :
    getCustomerRows=SELECT count(cm.`customer_master_id`) FROM customer_master cm WHERE cm.branch_code =?;
  CustMasterDaoImpl :
    private @Value("${getCustomerRows") String getCustomerRows;
    @Override
    public Integer getCustomerRows(Integer branchCode) {
        try {


            return getJdbcTemplate().queryForObject(getCustomerRows,new Object[] {branchCode},Integer.class) ;
        }catch (Exception e) {
            logger.error("select Query failed : " + e.getMessage());
            System.out.println("catch ::: " + e.getMessage());
            e.printStackTrace();
            return 0;
        }
    }

Исключение:

org.springframework.dao.TransientDataAccessResourceException: PreparedStatementCallback; SQL [${getKycComplinedCustomerRowsNonIndividual]; Parameter index out of range (1 > number of parameters, which is 0).; nested exception is java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).

1 Ответ

0 голосов
/ 28 октября 2018

Я нашел ошибку, на самом деле, я не установил значение для аннотации @Value правильно для переменной getCustomerRows, в аннотации @Value отсутствует закрывающая фигурная скобка, которая дает (в данном случае) java.sql.SQLException: Parameter index out of range.Исключение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...