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类? 或者对于每个表,我必须创建新的映射器类?
答案 0 :(得分:3)
由于您的RowMapper不包含任何状态,因此该类的相同实例可用于任何表/选择。唯一的问题是这些表/选择是否可以转换为SubscriptionRequest对象并包含第一个int和第二个字符串列。
如果没有,则必须为要生成的每个对象创建一个新的RowMapper。或者使用一些“通用”行映射器,它将从每行而不是具体对象生成映射。