简述
JDBC 驱动程序将 Java 数据类型转换为适当的 JDBC 类型,然后再将其发送到数据库。它对大多数数据类型使用默认映射。例如,Java int 被转换为 SQL INTEGER。创建默认映射是为了提供驱动程序之间的一致性。
下表总结了在调用 PreparedStatement 或 CallableStatement 对象的 setXXX() 方法或 ResultSet.updateXXX() 方法时,Java 数据类型转换为的默认 JDBC 数据类型。
SQL |
JDBC/Java |
setXXX |
updateXXX |
VARCHAR |
java.lang.String |
setString |
updateString |
CHAR |
java.lang.String |
setString |
updateString |
LONGVARCHAR |
java.lang.String |
setString |
updateString |
BIT |
boolean |
setBoolean |
updateBoolean |
NUMERIC |
java.math.BigDecimal |
setBigDecimal |
updateBigDecimal |
TINYINT |
byte |
setByte |
updateByte |
SMALLINT |
short |
setShort |
updateShort |
INTEGER |
int |
setInt |
updateInt |
BIGINT |
long |
setLong |
updateLong |
REAL |
float |
setFloat |
updateFloat |
FLOAT |
float |
setFloat |
updateFloat |
DOUBLE |
double |
setDouble |
updateDouble |
VARBINARY |
byte[ ] |
setBytes |
updateBytes |
BINARY |
byte[ ] |
setBytes |
updateBytes |
DATE |
java.sql.Date |
setDate |
updateDate |
TIME |
java.sql.Time |
setTime |
updateTime |
TIMESTAMP |
java.sql.Timestamp |
setTimestamp |
updateTimestamp |
CLOB |
java.sql.Clob |
setClob |
updateClob |
BLOB |
java.sql.Blob |
setBlob |
updateBlob |
ARRAY |
java.sql.Array |
setARRAY |
updateARRAY |
REF |
java.sql.Ref |
SetRef |
updateRef |
STRUCT |
java.sql.Struct |
SetStruct |
updateStruct |
JDBC 3.0 增强了对 BLOB、CLOB、ARRAY 和 REF 数据类型的支持。ResultSet 对象现在具有 updateBLOB()、updateCLOB()、updateArray() 和 updateRef() 方法,使您能够直接操作服务器上的相应数据。
setXXX() 和 updateXXX() 方法使您能够将特定的 Java 类型转换为特定的 JDBC 数据类型。方法 setObject() 和 updateObject() 使您能够将几乎任何 Java 类型映射到 JDBC 数据类型。
ResultSet 对象为每种数据类型提供了相应的 getXXX() 方法来检索列值。每种方法都可以与列名或按其顺序位置一起使用。
SQL |
JDBC/Java |
setXXX |
getXXX |
VARCHAR |
java.lang.String |
setString |
getString |
CHAR |
java.lang.String |
setString |
getString |
LONGVARCHAR |
java.lang.String |
setString |
getString |
BIT |
boolean |
setBoolean |
getBoolean |
NUMERIC |
java.math.BigDecimal |
setBigDecimal |
getBigDecimal |
TINYINT |
byte |
setByte |
getByte |
SMALLINT |
short |
setShort |
getShort |
INTEGER |
int |
setInt |
getInt |
BIGINT |
long |
setLong |
getLong |
REAL |
float |
setFloat |
getFloat |
FLOAT |
float |
setFloat |
getFloat |
DOUBLE |
double |
setDouble |
getDouble |
VARBINARY |
byte[ ] |
setBytes |
getBytes |
BINARY |
byte[ ] |
setBytes |
getBytes |
DATE |
java.sql.Date |
setDate |
getDate |
TIME |
java.sql.Time |
setTime |
getTime |
TIMESTAMP |
java.sql.Timestamp |
setTimestamp |
getTimestamp |
CLOB |
java.sql.Clob |
setClob |
getClob |
BLOB |
java.sql.Blob |
setBlob |
getBlob |
ARRAY |
java.sql.Array |
setARRAY |
getARRAY |
REF |
java.sql.Ref |
SetRef |
getRef |
STRUCT |
java.sql.Struct |
SetStruct |
getStruct |