Question

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;
    }
}

est ma classe à l'heure actuelle, il est un mappeur pour mon 1 table

Comment puis-je utiliser la même classe mappeur pour d'autres tables de base de données? ou pour chaque table, je dois créer une nouvelle classe Mapper?

Était-ce utile?

La solution

En tant que votre RowMapper contient pas d'état, la même instance de cette classe pourrait être utilisée pour une table / sélection. La seule question est de savoir si ces tables / sélectionne peut être converti en objet SubscriptionRequest et contient la première et la deuxième colonne int string.

Dans le cas contraire, que vous devez créer une nouvelle RowMapper pour chaque objet que vous voulez générer. Ou utiliser un mappeur de ligne « générique » qui produira une carte de chaque ligne au lieu d'un objet concret.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top