SpringMVC GetJdbcTemplate() получает значение из запроса

У меня есть функция, и я хотел бы извлечь значение из запроса, который я использовал, getJdbcTemplate, и я извлекаю значение, передавая строковый запрос и объект, а затем получая доступ к значению из объекта. Я хотел бы получить доступ к значению, когда вы фактически передаете строку. Мой код:

Здесь я использую карту, но я не передаю результат карты объекта = getJdbcTemplate().queryForMap(sql, userName) и userName является строкой. Я бы использовал Map, но как это написано.

public boolean OfficerExist(Officers officer){


    try{

        logger.debug("About to check if officers existing");

        String sql = "SELECT userName FROM crimetrack.tblofficers WHERE userName = ?";

        logger.info("User Name Found 1");

        * Map<String, Object> results = getJdbcTemplate().queryForMap(sql, userName);

        logger.info("User Name Found 2");

        String dbUserName = (String)results.get("userName");

        logger.info("Checking if officers exist "+sql);

        if (dbUserName.equals(userName)) {

            logger.info("User Name Exists");
            return true;

        }else{
            logger.info("User Name Does NOT Exists");
            return false;
        }
        logger.info("User Name Found 3");

        return true;

    }catch(Exception e){

        logger.info(e.getMessage());
        return false;
    }
}

person devdar    schedule 18.09.2012    source источник
comment
Не совсем уверен, что вы просите и/или собираетесь сделать. Но то, что у вас есть выше, не будет компилироваться и не подходит для простого запроса «существует ли офицер». Посмотрите здесь несколько примеров использования JdbcTemplate: mkyong.com/spring/ spring-jdbctemplate-querying-examples   -  person millhouse    schedule 19.09.2012
comment
Я пытаюсь проверить базу данных, чтобы узнать, существует ли имя пользователя. Я выполняю запрос и извлекаю значение, возвращенное из запроса. Как только я извлеку значение, я могу что-то сделать, или если оно не делает что-то еще.   -  person devdar    schedule 19.09.2012


Ответы (1)


Одна вещь, которую можно попробовать, это вместо карты, возможно, попробуйте просто запросить объект, поскольку вы знаете, что просто запрашиваете имя пользователя.

i.e.

getJdbcTemplate().queryForObject("select username...", String.class, userName)


public String findCustomerNameById(int custId){

String sql = "SELECT NAME FROM CUSTOMER WHERE CUST_ID = ?";

String name = (String)getJdbcTemplate().queryForObject(
        sql, new Object[] { custId }, String.class);

return name;

}

person devdar    schedule 19.09.2012