JAva:如何将自定义对象类型作为参数传递给方法,并返回相同的自定义对象类型值

时间:2018-01-24 20:17:36

标签: java

我正在使用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))
}

1 个答案:

答案 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));
}