我将Spring 3应用程序升级到Spring 4.我的@Repository
有ParameterizedRowMapper
个对象将SQL结果映射到对象。但是从Spring 4开始,该接口已经deprecated"支持常规SingleColumnRowMapper
"。但是我使用映射器来映射多个列。我打算如何使用SingleColumnRowMapper
映射多个列?或者我打算做一些完全不同的事情?
例如,这是我现在的代码类型:
private static final ParameterizedRowMapper<Thing> THING_ENTRY_MAPPER = new ParameterizedRowMapper<Thing>() {
@Override
public Thing mapRow(ResultSet rs, int rowNum) throws SQLException {
return new Thing(rs.getLong(1), rs.getLong(2), rs.getInt(3));
}
};
@Override
public List<Thing> getThings(
ID id, long start, long end) {
final Map<String, Object> params = new HashMap<String, Object>(4);
putIDParams(params, id);
putTimeRangeParams(params, start, end);
return getNamedParameterJdbcTemplate().query(QUERY_THING, params,
THING_ENTRY_MAPPER);
}
我现在应该如何实现这种功能?
答案 0 :(得分:10)
Javadoc似乎错了。 Spring Framework设计者可能打算使用RowMapper<Thing>
接口来替换ParameterizedRowMapper<Thing>
。也就是说,使用基接口。