我發現這種形式的查詢非常方便從數據庫調用返回一個單一的值/單行,我很好,拋出一個異常,如果有什麼問題。但我認爲做演員通常是一種不好的做法。Casting返回值爲JDBCTemplate.QueryForObject
這裏的演員是不是皺起了眉頭?
String name = (String)getJdbcTemplate().queryForObject(
sql, new Object[] { custId }, String.class);
我發現這種形式的查詢非常方便從數據庫調用返回一個單一的值/單行,我很好,拋出一個異常,如果有什麼問題。但我認爲做演員通常是一種不好的做法。Casting返回值爲JDBCTemplate.QueryForObject
這裏的演員是不是皺起了眉頭?
String name = (String)getJdbcTemplate().queryForObject(
sql, new Object[] { custId }, String.class);
從Spring 3.1中,JdbcTemplate可以使用泛型和與queryForObject可變參數:
String name = getJdbcTemplate().queryForObject(sql, String.class, custId);
在Spring 3.1之前,這是可以通過getSimpleJdbcTemplate()
String name = getSimpleJdbcTemplate().queryForObject(sql, String.class, custId);
編輯:
這需要JDK 1.5或更高版本。
你不應該有,投,如果你使用的是最新的春季版本,因爲它是一個通用的方法和signature of the method現在是:
public <T> T queryForObject(String sql, Class<T> requiredType) throws DataAccessException
如果您使用的是舊版本,然後或者投射,或者升級到最新版本。