Sto aggiornando un'applicazione Spring 3 alla Spring 4. My @Repository
ha oggetti ParameterizedRowMapper
per associare i risultati SQL agli oggetti. Ma dalla primavera 4 quell'interfaccia è stata deprecated "a favore del normale SingleColumnRowMapper
". Ma io uso i mapper per mappare le colonne multiple. Come intendo mappare più colonne usando SingleColumnRowMapper
? O sono intenzionato a fare qualcosa di completamente diverso?Aggiornamento da ParameterizedRowMapper a SingleColumnRowMapper per più colonne
Per esempio, ecco il tipo di codice che ho adesso:
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);
}
Come devo essere attuazione di tale tipo di funzionalità ora?
Hmm non so perché è lì ma sono sicuro che è un refuso. Dovrebbe essere il normale ['RowMapper'] (http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jdbc/core/RowMapper.html). Poiché Spring 3.x è parametrizzato e come tale il parametro ParameterizedRowMapper è obsoleto. –
Vedere anche http://stackoverflow.com/questions/6960542/parameterizedrowmapper-is-recommended-or-rowmapper – Raedwald