Zieltypen für integrierte Methoden zum Abfragen von Datenbanken: primitive Wrappertypen und Objekttypen

In den meisten Fällen, wenn die SQL-Anweisung SELECT eine einzelne Spalte oder einen einzelnen Ausdruck in ihrer Auswahlliste angibt, ist ein einzelner primitiver Java-Wrapper oder ein einzelnes Objekt die natürliche Darstellung für die ausgewählten Daten.

Einfacher Objekttyp bedeutet hier einen Java-Datentyp, der direkt von JDBC unterstützt wird. Ausgenommen sind lediglich benutzerdefinierte Datentypen.

Die natürliche Zuweisung für einzelne Spalten einer Tabelle zu einem primitiven Java-Wrapper oder einfachen Objekt ist die von den Datentypkonvertierungstabellen im JDBC-Standard angegebene. Diese Tabellen geben auch die zulässigen Datentypkonvertierungen zwischen Datentypen, die von der Datenquelle unterstützt werden, und primitiven Java-Wrappertypen und einfachen Objekten an, wenn Daten aus einer Datenquelle ausgewählt oder in eine Datenquelle eingefügt werden.

Beispiel

Sie können z. B. den einfachen Objekttyp java.lang.String als Ziel für das Ergebnis einer Anweisung SELECT in einer Spalte angeben, die mit dem Datentyp CHAR definiert ist.

Sie könnten die primitive Wrapperklasse Float als Ziel für das Ergebnis einer Anweisung SELECT in einer Spalte angeben, die als DECIMAL(5,2) definiert ist.

Eine Anwendung, die die Gruppe von Abteilungen aus der Tabelle EMP benötigt, könnte eine Abfrage ausführen und die Ergebnisse dieser Abfrage mit Code wie dem folgenden in einem Zeichenfolgen-Array speichern:

Connection con = DriverManager.getConnection(...);
Data db = DataFactory.getData(con);
String[] departmentList = db.queryArray(
 "SELECT DISTINCT WORKDEPT FROM SAMPLE_SCHEMA.EMP",
     String.class );

Im obigen Beispiel wird die generische Methode queryArray aufgerufen, die definiert ist als public <T> T[] queryArray (java.lang.String sql, Class<T> returnClass, Object... parameters).


Feedback