我有一个函数,我想从我使用getJdbcTemplate的查询中提取vaue,我通过传递一个字符串查询和一个对象然后从对象访问值来提取vaue。我想在实际传递字符串时访问该值。我的代码是:
这里我使用Map但我没有传递对象Map results = getJdbcTemplate()。queryForMap(sql,userName)和userName是一个String。我必须使用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;
}
}
答案 0 :(得分:0)
要尝试的一件事是代替Map,可能只是尝试查询Object,因为您知道自己只是在查询用户名。
即
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;
}