Sie können eine Schnittstelle erstellen, die mindestens eine Schnittstelle erweitert, die mit Annotationen versehene Methoden deklariert, und mithilfe des pureQuery-Dienstprogramms Generator eine Implementierungsklasse von dieser erweitertenden Schnittstelle generieren.
Die Erweiterungsschnittstelle kann auch mit Annotationen versehene Methoden deklarieren. Wenn Sie das pureQuery-Programm StaticBinder für die erweiternde Schnittstelle ausführen, erstellen und binden Sie ein DB2-Paket, das die SQL-Anweisungen von den erweiterten Schnittstellen und bei der Deklaration von mit Annotationen versehenen Methoden die erweiternde Schnittstelle enthält.
Führen Sie die folgende Prozedur aus, um die Anzahl zu verwaltender DB2-Pakete zu senken.
Achtung: - Alle SQL-Anweisungen in den mit Annotationen versehenen Methoden müssen über dieselbe Verbindungs-URL ausgeführt werden können.
- Eine Schnittstelle darf keine mit Annotationen versehenen Methoden enthalten, die mit Methoden in den anderen Schnittstellen identisch sind.
.
Beispiel
Angenommen, Sie haben die folgenden Schnittstellen:
public interface SalesTeam {
@Select(sql="SELECT * FROM SALES")
List<SalesBean> getSalesEmployees();
}
public interface MarketingTeam {
@Select(sql="SELECT * FROM MARKETING")
List<MktBean> getMarketingEmployees();
}
Sie wollen die SQL-Anweisungen in diesen Schnittstellen in ein einzelnes DB2-Paket binden. Führen Sie dazu die folgenden Schritte aus:
- Erstellen Sie eine Schnittstelle, die SalesTeam und MarketingTeam erweitert.
In diesem Beispiel lautet der Name der Schnittstelle CombinedTeam und die Schnittstelle sieht wie folgt aus:
public interface CombinedTeam extends SalesTeam, MarketingTeam {
@Select("select sales/expense from dept where dept_id=?")
public double getROIforDept(int dept_id);
}
- Generieren Sie die Implementierungsklasse für die Schnittstelle CombinedTeam, indem Sie das pureQuery-Dienstprogramm Generator ausführen. Diese Implementierungsklasse enthält die Methoden, die in den Schnittstellen SalesTeam und MarketingTeam deklariert sind.
- Führen Sie das pureQuery-Dienstprogramm StaticBinder für die generierte Implementierungsklasse aus, indem Sie die kombinierte Schnittstelle angeben.