18.3.1 | Standard-Typen |
Das mit JDBC 1.0 eingeführte Type-Mapping definiert 19 Typen, die sich am SQL-92 Standard orientieren. Für jeden JDBC-Typ ist in der Klasse java.sql.Types eine Konstante definiert, die den Typ repräsentiert. Diese Konstanten werden z. B. für den Zugriff auf NULL-Werte und Metadaten benötigt. Tabelle 18.3 zeigt die in JDBC 1.0 definierten Datentypen und den entsprechenden Java-Datentyp.
Tabelle 18.3: Datentypen in JDBC 1.0 JDBC-Datentyp Java-Datentyp Types.CHAR java.lang.String Types.VARCHAR java.lang.String Types.LONGVARCHAR java.lang.String Types.NUMERIC java.math.BigDecimal Types.DECIMAL java.math.BigDecimal Types.BIT boolean Types.TINYINT byte Types.SMALLINT short Types.INTEGER int Types.BIGINT long Types.REAL float Types.FLOAT double Types.DOUBLE double Types.BINARY byte[] Types.VARBINARY byte[] Types.LONGVARBINARY byte[] Types.DATE java.sql.Date Types.TIME java.sql.Time Types.TIMESTAMP java.sql.Timestamp Die hier aufgeführten Typen stellen lediglich die Standard-Zuordnung dar. Bei der Abfrage eines Werts von einem Exemplar der Klasse ResultSet kann man automatisch Konvertierungen über getXXX()-Methoden vornehmen (siehe Abschnitt 18.6). Genauso kann man beim Setzen eines Werts in einer SQL-Anweisung über setXXX()-Methoden der Klasse PreparedStatement Konvertierungen durchführen (siehe Abschnitt 18.7).
Tabelle 18.4: Datentypen in JDBC 2.0 JDBC-Datentyp Java-Datentyp Types.BLOB java.sql.Blob Types.CLOB java.sql.Clob Types.STRUCT java.sql.Struct Types.ARRAY java.sql.Array Types.REF java.sql.Ref Tabelle 18.4 zeigt die Typen, die mit JDBC 2.0 neu eingeführt wurden. Zu ihnen gehören zum einen Typen, die LOBs (Large Objects) in der Datenbank repräsentieren. Der Umgang mit LOBs wird in Abschnitt 18.9 ausführlich beschrieben. Zum anderen definiert JDBC 2.0 Datentypen, die für den Zugriff auf objektrelationale Strukturen in der Datenbank benötigt werden.