Spring 2.0的SimpleJdbcTemplate可以以来JDK5的泛型,通过建立一个ParameterizedRwoMapper对象,直接返回封装好的对象,而不用先返回Object再进行ClassCast/
public
User find(Integer id)
...
{
String sql="select * from user where id=?";
ParameterizedRowMapper<User> mapper=new ParameterizedRowMapper<User>()...{
public User mapRow(ResultSet rs,int rowNum) throws SQLExcpetion...{
User user=new User();
user.setId(new Integer(rs.getInt("id")));
user.setName(rs.getString("name"));
return user;
}
}
SimpleJdbcTemplate simpleJdbcTemplate=new SimpleJdbcTemplate (dataSource);
return simpleJdbcTemplate.queryForObject(sql,mapper,id);
}
String sql="select * from user where id=?";
ParameterizedRowMapper<User> mapper=new ParameterizedRowMapper<User>()...{
public User mapRow(ResultSet rs,int rowNum) throws SQLExcpetion...{
User user=new User();
user.setId(new Integer(rs.getInt("id")));
user.setName(rs.getString("name"));
return user;
}
}
SimpleJdbcTemplate simpleJdbcTemplate=new SimpleJdbcTemplate (dataSource);
return simpleJdbcTemplate.queryForObject(sql,mapper,id);
}