#java #spring #resultset #mapper
#java #spring #результирующий набор #mapper
Вопрос:
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?
Ответ №1:
Поскольку ваш RowMapper не содержит состояния, один и тот же экземпляр этого класса может быть использован для любой таблицы / выбора. Вопрос только в том, могут ли эти таблицы / выборки быть преобразованы в объект SubscriptionRequest и содержать первый столбец int и второй столбец string.
Если нет, то вы должны создать новый RowMapper для каждого объекта, который вы хотите сгенерировать. Или используйте какой-нибудь «универсальный» преобразователь строк, который будет создавать карту из каждой строки вместо конкретного объекта.