我正在使用JDBC模板从数据库中获取查询结果。我编写了下面的工作代码,将我的查询结果转换为自定义对象“test”(我为此分别编写了一个类)。
jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<test>(test.class) );
我的问题是上面的代码是否可以作为方法通用/可重用,以便允许任何类型的对象作为参数传递给此方法并返回类型作为同一个对象?像下面显示的非工作代码一样?
public static calledClass ExecuteQuery(String sql,Class calledClass) {
return jdbcTemplate.queryForObject(sqlCommand,new BeanPropertyRowMapper<calledClass>(calledClass.class))
}
答案 0 :(得分:4)
在JdbcTemplate
中,queryForObject()
被声明为:
public <T> T queryForObject(String sql, RowMapper<T> rowMapper) throws DataAccessException
所以,这样的事情应该可以胜任:
public static <T> T executeQuery(String sql,Class<T> calledClass){
return jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<T>(calledClass));
}