我想知道什么时候使用ResultSet实例方法:getObject(int columnNumber);
它是如何自动转换为列类型的?这是ResultSet对象隐式完成的事情?
提前谢谢。
答案 0 :(得分:2)
它不会被转换为列类型,它存储在ResultSet
时已经是该类型。此方法将返回Object
或其类扩展为Object
的任何对象,显然任何类。
答案 1 :(得分:2)
getObject()返回与列类型关联的Java类型的对象。因此,如果它是VARCHAR,您将得到String
(扩展Object)。如果它是一个BIT,你将获得一个布尔值(它扩展了Object)等等。一切都在Java中扩展了对象。
这就是方法的作用和is documented要做的事情:
此方法将返回给定列的值作为Java对象。 Java对象的类型将是与列的SQL类型对应的缺省Java对象类型,遵循JDBC规范中指定的内置类型的映射。如果值为SQL NULL,则驱动程序返回Java null。
答案 2 :(得分:1)
获取当前行中指定列的值 ResultSet对象作为Java编程语言中的Object
此方法将返回给定列的值作为Java 宾语。 Java对象的类型将是默认的Java对象 类型对应于列的SQL类型,遵循映射 JDBC规范中指定的内置类型。如果值是 SQL NULL,驱动程序返回Java null
返回类型是Object。
java中的所有类都是Object的子类。
答案 3 :(得分:0)
您可以使用其他getObject()
方法来指明您期望的类型:
MyClass myObject = getObject(columnIndex, MyClass.class)