0

我有一个函数,我想从我使用 getJdbcTemplate 的查询中提取值,我通过传递一个字符串查询和一个对象然后从对象中访问值来提取值。我想在您实际传递字符串时访问该值。我的代码是:

在这里我使用 Map 但我没有传递对象 Map results = getJdbcTemplate().queryForMap(sql, userName) 并且 userName 是一个字符串。我将不得不使用地图,但这是如何写的。

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;
    }
}
4

1 回答 1

0

要尝试的一件事是代替 Map,也许只尝试查询 Object,因为您知道您只是在查询用户名。

IE

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;

}

于 2012-09-19T15:53:39.090 回答