Tipos de datos y conversiones
Cuando se ejecuta una función getXXX para un determinado ResultSet, el driver JDBC convierte el dato que se va a recuperar al tipo de Java especificado, devolviendo el valor correspondiente. Esta conversión de tipos se realiza por la clase java.sql.Types, en la que están definidos los tipos de datos denominados JDBC, en correspondencia con sus equivalentes de datos SQL estándar.
La siguiente tabla muestra la equivalencia de tipos SQL a tipos JDBC, así como las funciones de Resultset que obtienen valores (getXXX), o modifican el valor (updateXXX), así como las funciones setXXX de PreparedStatement que definen el valor de los parámetros de la consulta.
La imagen muestra mediante una tabla a 5 columnas las equivalencias de los datos SQL con los datos del API JDBC representados en los métodos que permiten el retorno, inserción y actualización de los datos.
Tabla 1. Equivalencias de tipos SQL a JDBC y sus funciones
SQL | JDBC | getXXX | setXXX | updateXXX |
VARCHAR | Java.lang.String | getString | setString | updateString |
CHAR | Java.lang.String | getString | setString | updateString |
LONGVARCHAR | Java.lang.String | getString | setString | updateString |
BIT | Boolean | getBoolean | setBoolean | updateBoolean |
NUMERIC, DECIMAL | Java.math.BigDecimal | getBigDecimal | setBigDecimal | updateBigDecimal |
TINYINT | Byte | getByte | setByte | updateByte |
SMALLINT | Short | getShort | setShort | updateShort |
INTEGER | int | getInt | setInt | updateInt |
BIGINT | long | getLong | setLong | updateLong |
REAL | float | getFloat | setFloat | updateFloat |
FLOAT | float | getFloat | setFloat | updateFloat |
DOUBLE | double | getDouble | setDouble | updateDouble |
VARBINARY | byte[] | getBytes | setBytes | updateBytes |
BINARY | byte[] | getBytes | setBytes | updateBytes |
DATE | Java.sql.Date | getDate | setDate | updateDate |
TIME | Java.sql.Time | getTime | setTime | updateTime |
TIME STAMP | Java.sql.Timestamp | getTimeStamp | setTimestamp | updateTimeStamp |
CLOB | Java.sql.Clob | getClob | setClob | updateClob |
BLOB | Java.sql.Blob | getBlob | setBlob | updateBlob |
ARRAY | Java.sql.Array | getArray | setArray | updateArray |
REF | Java.sql.Ref | getRef | setRef | updateRef |
STRUCT | Java.sql.Struct | getStruct | setRef | updateStruct |