0
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 张桌子的映射器

如何为其他数据库表使用相同的映射器类?或者对于每个表,我必须创建新的映射器类?

4

1 回答 1

3

由于您的 RowMapper 不包含任何状态,因此此类的同一实例可用于任何表/选择。唯一的问题是这些表/选择是否可以转换为 SubscriptionRequest 对象并包含第一个 int 和第二个字符串列。

如果没有,则必须为要生成的每个对象创建一个新的 RowMapper。或者使用一些“通用”行映射器,它将从每一行生成一个映射,而不是一个具体的对象。

于 2011-04-29T07:48:26.870 回答