Domanda

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

Questa è la mia classe, al momento, si tratta di un mapper per il mio 1 tabella

Come posso utilizzare la stessa classe mapper per le altre tabelle del database? o per ogni tabella, devo creare nuova classe mapper?

È stato utile?

Soluzione

Come il tuo RowMapper contiene nessuno stato, la stessa istanza di questa classe potrebbe essere utilizzato per qualsiasi tabella / selezionare. L'unica domanda è se queste tabelle / seleziona può essere convertito in SubscriptionRequest oggetto e contenere prima e nella seconda colonna int stringa.

In caso contrario, di quanto è necessario creare un nuovo RowMapper per ogni oggetto che si desidera generare. Oppure utilizzare un po 'di "generico" mapper riga che produrrà una mappa da ogni riga, invece di un oggetto concreto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top