2012-09-18 68 views
0

我有一個函數,我想從我使用getJdbcTemplate的查詢中提取vaue,並通過傳遞一個字符串查詢和一個對象來提取vaue,然後訪問該對象的值。我想在實際傳遞字符串時訪問該值。我的代碼是:SpringMVC GetJdbcTemplate()從查詢中獲取值

這裏我使用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; 
    } 
} 
+1

不能完全確定你所要求的和/或打算這樣做。但是,上面的內容既不能編譯,也不適合簡單的「官員是否存在」查詢。看看這裏的一些JdbcTemplate用法的例子:http://www.mkyong.com/spring/spring-jdbctemplate-querying-examples/ – millhouse

+0

我想檢查數據庫,看看用戶名是否存在。我執行查詢並提取查詢返回的值。一旦我提取了價值,我就可以做一些事情,或者如果它不做別的事情。 – devdar

回答

0

有一點要嘗試的是,而不是一個地圖,也許只是試圖查詢對象,因爲你知道你只是查詢用戶名。

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; 

}