1、http://argel-lj.iteye.com/blog/1183123
2、http://www.fx114.net/qa-119-110105.aspx
JDBC 的" 类型"定义为转换成标准 Java 类型,提供了属类的 SQL 类型。通常是直接 确定所需的类型和方法。以下两个表显示用于获取每个数据类型的常规 ResultSet
方法。典型 setxxx()
方法的格式相同。
SQL 类型 | Java方法 |
---|---|
BIGINT | getLong() |
BINARY | getBytes() |
BIT | getBoolean() |
CHAR | getString() |
DATE | getDate() |
DECIMAL | getBigDecimal() |
DOUBLE | getDouble() |
FLOAT | getDouble() |
INTEGER | getInt() |
LONGVARBINARY | getBytes() |
LONGVARCHAR | getString() |
NUMERIC | getBigDecimal() |
OTHER | getObject() |
REAL | getFloat() |
SMALLINT | getShort() |
TIME | getTime() |
TIMESTAMP | getTimestamp() |
TINYINT | getByte() |
VARBINARY | getBytes() |
VARCHAR | getString() |
为了显示, ResultSet.getString()
也可以应用于上述类型, 可能对 OTHER
例外。
SQL 类型 | Java 方法 |
---|---|
ARRAY | getArray() |
BLOB | getBlob() |
CLOB | getClob() |
DISTINCT | getUnderlyingType() |
REF | getRef() |
STRUCT | (castToStruct)getObject() |
JAVA_OBJECT | (castToObjectType)getObject() |
ResultSet.getObject()
也可以用于两个表中列出的任何类型。
这些看起来非常清晰明了,难度也不大,但专业程序设计员应该花些时间阅读 映射 Java 的 SQL 数据类型和映射 SQL 及 Java "类型"。尤其要通过" ResultSet.getXXX() 方法"检查"转换"表,以查看可用选项的种类。
对于应用定位程序的 SQL3 类型,因为文档上令 人遗憾的缺陷,人们常常对它发出这样的疑问:"开始时,该如何将类型输入数据 库呢?"最好的答案是,检查它们对应的类(例如, BLOB
的 Blob
类),并根据 getXXX()
方法找出 setXXX()
方法应用的具体化数据,通常带有 PreparedStatement
。就 Blob
而言是 getBinaryStream()
和 getBytes()
,因此对应地就 有了 setBinaryStream()
和 setBytes()
。更多的 信息和范例代码,请查看 LOB 和本部分相关的练习。
ZC: 文中提到的3个链接:
(1)、映射 Java 的 SQL 数据类型
(http://docs.oracle.com/javase/1.3/docs/guide/jdbc/spec/jdbc-spec.frame8.html)
(2)、SQL 及 Java
(http://docs.oracle.com/javase/1.3/docs/guide/jdbc/getstart/mapping.html#996857)
(3)、ResultSet.getXXX() 方法"检查"转换"表
(http://docs.oracle.com/javase/1.3/docs/guide/jdbc/getstart/mapping.html#1036700)
地址 均已失效(20161208)。
于是下载了 j2se 1.3 的文档来查看,于是对应的地址就变成了:
3、
4、
5、