0

関数があり、getJdbcTemplateを使用してクエリから値を抽出したいのですが、文字列クエリとオブジェクトを渡してオブジェクトの値にアクセスすることで値を抽出します。実際に文字列を渡すときに値にアクセスしたいと思います。私のコードは:

ここではMapを使用していますが、オブジェクトMap results = 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;
    }
}
4

1 に答える 1

0

マップの代わりに試してみることの1つは、ユーザー名を照会しているだけであることがわかっているので、オブジェクトを照会してみてください。

すなわち

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 に答える