Java Resultset Rowmapper
Вопрос
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;
}
}
Это мой класс на данный момент, это карт для моей 1 таблицы
Как я могу использовать один и тот же класс Mapper для других таблиц базы данных? Или для каждой таблицы я должен создать новый класс Mapper?
Решение
Поскольку ваш Rowmapper не содержит состояния, один и тот же экземпляр этого класса может использоваться для любой таблицы/выбора. Единственный вопрос заключается в том, можно ли преобразовать эти таблицы/выборы в объект подписки, и содержать первый и второй строковый столбец.
Если нет, то вы должны создать новый Rowmapper для каждого объекта, который вы хотите сгенерировать. Или используйте какой -нибудь «общий» карту строки, который будет создавать карту из каждой строки вместо конкретного объекта.
Не связан с StackOverflow