0

我想知道何时使用 ResultSet 实例方法:getObject(int columnNumber);它为什么会自动转换为列类型?它是由 ResultSet 对象隐式完成的吗?提前致谢。

4

4 回答 4

2

getObject() 返回与列类型关联的 Java 类型的对象。所以如果它是一个 VARCHAR,你会得到一个String(它扩展了 Object)。如果它是一个 BIT,你会得到一个布尔值(它扩展了 Object)等等。一切都扩展了 Java 中的 Object。

这就是该方法所做的并且记录在案的操作:

此方法将给定列的值作为 Java 对象返回。Java 对象的类型将是与列的 SQL 类型对应的默认 Java 对象类型,遵循 JDBC 规范中指定的内置类型的映射。如果该值为 SQL NULL,则驱动程序返回 Java NULL。

于 2013-05-17T12:44:33.320 回答
2

它不会转换为列类型,它在存储在ResultSet. 此方法将返回一个Object任何其类扩展的对象Object,显然是任何类。

于 2013-05-17T12:43:34.997 回答
1

获取此ResultSet对象当前行中指定列的值作为Java编程语言中的Object

此方法将给定列的值作为 Java 对象返回。Java 对象的类型将是与列的 SQL 类型对应的默认 Java 对象类型,遵循 JDBC 规范中指定的内置类型的映射。如果该值为 SQL NULL,则驱动程序返回 Java null

返回类型是对象。

java中的所有类都是Object的子类。

JAVA 文档

于 2013-05-17T12:42:19.697 回答
0

You can use a different getObject() method where you can indicate what type you are expecting:

MyClass myObject = getObject(columnIndex, MyClass.class)
于 2013-05-17T12:47:17.140 回答