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