Frage

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

Dies ist im Moment meine Klasse, es ist ein Mapper für meine 1 -Tabelle

Wie kann ich dieselbe Mapper -Klasse für andere Datenbanktabellen verwenden? Oder für jede Tabelle muss ich eine neue Mapper -Klasse erstellen?

War es hilfreich?

Lösung

Da Ihr RowMapper keinen Zustand enthält, kann dieselbe Instanz dieser Klasse für jede Tabelle/Auswahl verwendet werden. Die einzige Frage ist, ob diese Tabellen/Auswahl in das Abonnement -Objekt konvertiert werden können und die Spalte für die erste int- und zweite Zeichenfolge enthalten.

Wenn nicht, müssen Sie für jedes Objekt, das Sie generieren möchten, einen neuen RowMapper erstellen. Oder verwenden Sie einen "generischen" Zeilen -Mapper, der eine Karte aus jeder Zeile anstelle eines konkreten Objekts erzeugt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top