Java ResultSet RowMapper
Pregunta
package dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.krams.tutorial.oxm.SubscriptionRequest;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport;
public class MyMapper implements RowMapper<SubscriptionRequest> {
public SubscriptionRequest mapRow(ResultSet rs, int rowNum) throws SQLException {
SubscriptionRequest subscription = new SubscriptionRequest();
subscription.setId(rs.getInt(1));
subscription.setCity(rs.getString(2));
return subscription;
}
}
Esta es mi clase en este momento, es un mapeador para mi 1 mesa
¿Cómo puedo usar la misma clase mapper para otras tablas de bases de datos? o para cada mesa, ¿debo crear una nueva clase mapper?
Solución
Como su RowMapper no contiene estado, la misma instancia de esta clase podría usarse para cualquier tabla/selección. La única pregunta es si estas tablas/selects se pueden convertir en objeto SubscriptionRequest y contienen primera columna int y segunda de cadena.
De lo contrario, debe crear un nuevo RowMapper para cada objeto que desee generar. O use un mapeador de fila "genérico" que producirá un mapa de cada fila en lugar de un objeto concreto.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow