Zieltypen für integrierte Methoden zum Abfragen von Datenbanken: Objekte zuordnen

Sie können die Ergebnisse einer Abfrage in einem Objekt java.util.Map<String, Object> speichern.

Wenn mehrere Spalten oder Ausdrücke in der Auswahlliste einer Anweisung SELECT aufgeführt sind, gibt es möglicherweise keine natürliche Umsetzung der Spalten in irgendeine vorhandene Klasse. In einer solchen Situation müssen Sie sich zwischen der Erstellung einer Klasse für die spezielle Verwendung oder einer Allzweckklasse wie java.util.Map entscheiden.

Beispiel

Es könnte z. B. ein Bericht benötigt werden, der die durchschnittliche Anzahl von Ausbildungsjahren (EDLEVEL) für jede Abteilung (WORKDEPT) mit mehr als drei Mitarbeitern enthält. Eine Liste von Map-Objekten mit Schlüsseln von average_edlevel und workdept würde aus einer Anwendungslogik wie der folgenden resultieren:

Connection con = DriverManager.getConnection(...);
Data db = DataFactory.getData(con);
List<Map<String, Object>> edLevelReport = db.queryList(
 "SELECT AVG(EDLEVEL) AS AVERAGE_EDLEVEL, WORKDEPT FROM " +
 " SAMPLE_SCHEMA.EMP GROUP BY WORKDEPT HAVING COUNT(*) > 3"
  );

Im obigen Beispiel wird ein Aufruf der Methode queryList, definiert als public List<Map<String, Object>> queryList(String sql, Object... parameters), verwendet.

Jede Zeile aus dem Abfrageergebnis wird ein Objekt Map. Die Liste aller Map-Objekte enthält das gesamte Abfrageergebnis. Die Schlüssel der Zuordnung werden mit Namen in Kleinbuchstaben erstellt.


Feedback