- 所有已实现的接口:
-
SQLInput
SQLInputImpl
对象是一个输入流,其中包含作为UDT属性的值流。
当在具有自定义映射的SQL结构化或不同类型上调用方法 getObject
时,驱动程序在后台使用此类;程序员不会直接调用 SQLInputImpl
方法。它们在这里提供是为了方便那些编写 RowSet
实现的人。
SQLInputImpl
类提供了一组类似于 ResultSet
getter 方法的读取方法。这些方法使得可以读取 SQLInputImpl
对象中的值。
方法 wasNull
用于确定上次读取的值是否为SQL NULL
。
当使用实现接口 SQLData
的类的对象调用方法 getObject
时,JDBC驱动程序调用方法 SQLData.getSQLType
来确定正在自定义映射的UDT的SQL类型。驱动程序创建一个 SQLInputImpl
实例,并用UDT的属性填充它。然后驱动程序将输入流传递给方法 SQLData.readSQL
,后者又调用 SQLInputImpl
读取方法来从输入流中读取属性。
- 自从:
- 1.5
- 参见:
-
Constructor Summary
ConstructorDescriptionSQLInputImpl
(Object[] attributes, Map<String, Class<?>> map) 创建一个使用给定属性数组和给定类型映射初始化的SQLInputImpl
对象。 -
Method Summary
Modifier and TypeMethodDescription从流中读取一个SQLARRAY
值,并将其作为Java编程语言中的Array
对象返回。将此SQLInputImpl
对象中的下一个属性作为ASCII字符流返回。以java.math.BigDecimal
的形式检索此SQLInputImpl
对象中的下一个属性。将此SQLInputImpl
对象中的下一个属性作为未解释字节流返回。readBlob()
将此SQLInputImpl
对象头部的BLOB
值作为Java编程语言中的Blob
对象检索。boolean
将此SQLInputImpl
对象中的下一个属性作为Java编程语言中的boolean
返回。byte
readByte()
将此SQLInputImpl
对象中的下一个属性作为Java编程语言中的byte
返回。byte[]
将此SQLInputImpl
对象中的下一个属性作为字节数组返回。将此SQLInputImpl
对象中的下一个属性作为Unicode字符流返回。readClob()
将此SQLInputImpl
对象头部的CLOB
值作为Java编程语言中的Clob
对象检索。readDate()
将此SQLInputImpl
对象中的下一个属性作为java.sql.Date
对象返回。double
将此SQLInputImpl
对象中的下一个属性作为Java编程语言中的double
返回。float
将此SQLInputImpl
对象中的下一个属性作为Java编程语言中的float
返回。int
readInt()
将此SQLInputImpl
对象中的下一个属性作为Java编程语言中的int
返回。long
readLong()
将此SQLInputImpl
对象中的下一个属性作为Java编程语言中的long
返回。从流中读取一个SQLNCLOB
值,并将其作为Java编程语言中的Clob
对象返回。读取流中的下一个属性,并将其作为Java编程语言中的String
返回。将此SQLInputImpl
对象头部的值作为Java编程语言中的Object
返回。readRef()
将此SQLInputImpl
对象头部的值作为Java编程语言中的Ref
对象返回。从流中读取一个SQLROWID
值,并将其作为Java编程语言中的RowId
对象返回。short
将此SQLInputImpl
对象中的下一个属性作为Java编程语言中的short
返回。从流中读取一个SQLXML
值,并将其作为Java编程语言中的SQLXML
对象返回。将此SQLInputImpl
对象中的下一个属性作为Java编程语言中的String
返回。readTime()
将此SQLInputImpl
对象中的下一个属性作为java.sql.Time
对象返回。将此SQLInputImpl
对象中的下一个属性作为java.sql.Timestamp
对象返回。readURL()
从流中读取一个SQLDATALINK
值,并将其作为Java编程语言中的URL
对象返回。boolean
wasNull()
确定从此SQLInputImpl
对象读取的最后一个值是否为null
。Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface java.sql.SQLInput
readObject
-
Constructor Details
-
SQLInputImpl
创建一个使用给定属性数组和给定类型映射初始化的SQLInputImpl
对象。如果属性中有一个UDT,其名称在类型映射中的条目中,将根据相应的SQLData
实现进行映射。- 参数:
-
attributes
- 一个Object
实例数组,其中每个元素都是UDT的属性。数组中属性的顺序与在UDT定义中定义属性的顺序相同。 -
map
- 一个java.util.Map
对象,包含零个或多个条目,每个条目由 1) 给出UDT的完全限定名称的String
和 2) 定义如何映射UDT的SQLData
实现的Class
对象组成 - 抛出:
-
SQLException
- 如果attributes
或map
是null
值
-
-
Method Details
-
readString
将此SQLInputImpl
对象中的下一个属性作为Java编程语言中的String
返回。此方法不执行类型安全检查以确定返回的类型是否为预期类型;此责任由由
SQLData
实现定义的UDT映射委托。- 指定者:
-
readString
在接口SQLInput
- 返回:
-
此
SQLInputImpl
对象中的下一个属性;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置或流中没有更多值
-
readBoolean
将此SQLInputImpl
对象中的下一个属性作为Java编程语言中的boolean
返回。此方法不执行类型安全检查以确定返回的类型是否为预期类型;此责任由由
SQLData
实现定义的UDT映射委托。- 指定者:
-
readBoolean
在接口SQLInput
- 返回:
-
此
SQLInputImpl
对象中的下一个属性;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置或流中没有更多值
-
readByte
将此SQLInputImpl
对象中的下一个属性作为Java编程语言中的byte
返回。此方法不执行类型安全检查以确定返回的类型是否为预期类型;此责任由由
SQLData
实现定义的UDT映射委托。- 指定者:
-
readByte
在接口SQLInput
- 返回:
-
此
SQLInputImpl
对象中的下一个属性;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置或流中没有更多值
-
readShort
将此SQLInputImpl
对象中的下一个属性作为Java编程语言中的short
返回。此方法不执行类型安全检查以确定返回的类型是否为预期类型;此责任由由
SQLData
实现定义的UDT映射委托。- 指定者:
-
readShort
在接口SQLInput
- 返回:
-
此
SQLInputImpl
对象中的下一个属性;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置或流中没有更多值
-
readInt
从这个SQLInputImpl
对象中检索下一个属性,作为Java编程语言中的int
。此方法不执行类型安全检查以确定返回的类型是否为预期类型;此责任由
SQLData
实现定义的UDT映射委托处理。- 指定者:
-
readInt
在接口SQLInput
- 返回:
-
这个
SQLInputImpl
对象中的下一个属性;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置或流中没有更多值
-
readLong
从这个SQLInputImpl
对象中检索下一个属性,作为Java编程语言中的long
。此方法不执行类型安全检查以确定返回的类型是否为预期类型;此责任由
SQLData
实现定义的UDT映射委托处理。- 指定者:
-
readLong
在接口SQLInput
- 返回:
-
这个
SQLInputImpl
对象中的下一个属性;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置或流中没有更多值
-
readFloat
从这个SQLInputImpl
对象中检索下一个属性,作为Java编程语言中的float
。此方法不执行类型安全检查以确定返回的类型是否为预期类型;此责任由
SQLData
实现定义的UDT映射委托处理。- 指定者:
-
readFloat
在接口SQLInput
- 返回:
-
这个
SQLInputImpl
对象中的下一个属性;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置或流中没有更多值
-
readDouble
从这个SQLInputImpl
对象中检索下一个属性,作为Java编程语言中的double
。此方法不执行类型安全检查以确定返回的类型是否为预期类型;此责任由
SQLData
实现定义的UDT映射委托处理。- 指定者:
-
readDouble
在接口SQLInput
- 返回:
-
这个
SQLInputImpl
对象中的下一个属性;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置或流中没有更多值
-
readBigDecimal
从这个SQLInputImpl
对象中检索下一个属性,作为java.math.BigDecimal
。此方法不执行类型安全检查以确定返回的类型是否为预期类型;此责任由
SQLData
实现定义的UDT映射委托处理。- 指定者:
-
readBigDecimal
在接口SQLInput
- 返回:
-
这个
SQLInputImpl
对象中的下一个属性;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置或流中没有更多值
-
readBytes
从这个SQLInputImpl
对象中检索下一个属性,作为字节数组。此方法不执行类型安全检查以确定返回的类型是否为预期类型;此责任由
SQLData
实现定义的UDT映射委托处理。- 指定者:
-
readBytes
在接口SQLInput
- 返回:
-
这个
SQLInputImpl
对象中的下一个属性;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置或流中没有更多值
-
readDate
作为java.sql.Date
对象,从这个SQLInputImpl
中检索下一个属性。此方法不执行类型安全检查以确定返回的类型是否为预期类型;此责任由
SQLData
实现定义的UDT映射委托处理。- 指定者:
-
readDate
在接口SQLInput
- 返回:
-
这个
SQLInputImpl
对象中的下一个属性;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置或流中没有更多值
-
readTime
作为java.sql.Time
对象,从这个SQLInputImpl
中检索下一个属性。此方法不执行类型安全检查以确定返回的类型是否为预期类型,此责任由
SQLData
实现定义的UDT映射委托处理。- 指定者:
-
readTime
在接口SQLInput
- 返回:
-
属性;如果值为
SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置;或者流中没有更多值。
-
readTimestamp
作为java.sql.Timestamp
对象,从这个SQLInputImpl
中检索下一个属性。- 指定者:
-
readTimestamp
在接口SQLInput
- 返回:
-
属性;如果值为
SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置;或者流中没有更多值。
-
readCharacterStream
作为Unicode字符流,从这个SQLInputImpl
中检索下一个属性。此方法不执行类型安全检查以确定返回的类型是否为预期类型,此责任由
SQLData
实现定义的UDT映射委托处理。- 指定者:
-
readCharacterStream
在接口SQLInput
- 返回:
-
属性;如果值为
SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置;或者流中没有更多值。
-
readAsciiStream
作为ASCII字符流,从这个SQLInputImpl
中检索下一个属性。此方法不执行类型安全检查以确定返回的类型是否为预期类型,此责任由
SQLData
实现定义的UDT映射委托处理。- 指定者:
-
readAsciiStream
在接口SQLInput
- 返回:
-
属性;如果值为
SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置;或者流中没有更多值。
-
readBinaryStream
作为未解释字节流,从这个SQLInputImpl
中检索下一个属性。此方法不执行类型安全检查以确定返回的类型是否为预期类型,此责任由
SQLData
实现定义的UDT映射委托处理。- 指定者:
-
readBinaryStream
在接口SQLInput
中 - 返回:
-
属性;如果值为
SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置;或者如果流中没有更多值。
-
readObject
以Java编程语言中的Object
形式检索此SQLInputImpl
对象头部的值。除非存在自定义映射,否则返回的对象的实际类型由SQL类型到Java编程语言类型的默认映射确定,否则返回的对象的类型由此流的类型映射确定。JDBC技术启用的驱动程序在将流传递给应用程序之前向流注册类型映射。
当流头部的数据为SQL
NULL
时,此方法返回null
。如果数据是具有自定义映射的SQL结构化或不同类型,则此方法确定流头部的数据的SQL类型,构造适当类的对象,并调用该对象上的SQLData.readSQL
方法。然后,readSQL
方法调用适当的SQLInputImpl.readXXX
方法从流中检索属性值。- 指定者:
-
readObject
在接口SQLInput
中 - 返回:
-
以Java编程语言中的
Object
形式返回流头部的值;如果值为SQLNULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置;或者如果流中没有更多值。
-
readRef
以Java编程语言中的Ref
对象形式检索此SQLInputImpl
对象头部的值。- 指定者:
-
readRef
在接口SQLInput
中 - 返回:
-
代表流头部的SQL
REF
值的Ref
对象;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置;或者如果流中没有更多值。
-
readBlob
以Java编程语言中的Blob
对象形式检索此SQLInputImpl
对象头部的BLOB
值。此方法不执行类型安全检查以确定返回类型是否为预期类型,因为此责任由
SQLData
实现实现的UDT映射委托。- 指定者:
-
readBlob
在接口SQLInput
中 - 返回:
-
代表此流头部的SQL
BLOB
值的Blob
对象;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置;或者如果流中没有更多值。
-
readClob
以Java编程语言中的Clob
对象形式检索此SQLInputImpl
对象头部的CLOB
值。此方法不执行类型安全检查以确定返回类型是否为预期类型,因为此责任由
SQLData
实现实现的UDT映射委托。- 指定者:
-
readClob
在接口SQLInput
中 - 返回:
-
代表此流头部的SQL
CLOB
值的Clob
对象;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置;或者如果流中没有更多值。
-
readArray
从流中读取SQLARRAY
值并将其作为Java编程语言中的Array
对象返回。此方法不执行类型安全检查以确定返回类型是否为预期类型,因为此责任由
SQLData
实现实现的UDT映射委托。- 指定者:
-
readArray
在接口SQLInput
中 - 返回:
-
代表此流头部的SQL
ARRAY
值的Array
对象;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置;或者如果流中没有更多值。
-
wasNull
确定从此SQLInputImpl
对象最后读取的值是否为null
。- 指定者:
-
wasNull
在接口SQLInput
中 - 返回:
-
如果最近读取的SQL值为
null
,则返回true
;否则返回false
;默认情况下将返回false - 抛出:
-
SQLException
- 如果发生确定最后读取的值是否为null
值的错误;
-
readURL
从流中读取SQLDATALINK
值并将其作为Java编程语言中的URL
对象返回。此方法不执行类型安全检查以确定返回类型是否为预期类型,因为此责任由
SQLData
实现实现的UDT映射委托。- 指定者:
-
readURL
在接口SQLInput
中 - 返回:
-
代表此流头部的SQL
DATALINK
值的URL
对象;如果值为SQL NULL
,则返回null
- 抛出:
-
SQLException
- 如果读取位置位于无效位置;或者如果流中没有更多值。
-
readNClob
从流中读取SQLNCLOB
值并将其作为Java编程语言中的Clob
对象返回。- 指定者:
-
readNClob
在接口SQLInput
中 - 返回:
-
代表此流头部的SQL
NCLOB
值数据的NClob
对象;如果读取的值为SQLNULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自1.6起
- 1.6
-
readNString
读取流中的下一个属性并将其作为Java编程语言中的String
返回。用于访问NCHAR
、NVARCHAR
和LONGNVARCHAR
列时使用。- 指定者:
-
readNString
在接口SQLInput
中 - 返回:
-
属性;如果值为SQL
NULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自1.6起
- 1.6
-
readSQLXML
从流中读取SQLXML
值并将其作为Java编程语言中的SQLXML
对象返回。- 指定者:
-
readSQLXML
在接口SQLInput
中 - 返回:
-
代表此流头部的SQL
XML
值数据的SQLXML
对象;如果读取的值为SQLNULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自1.6起
- 1.6
-
readRowId
从流中读取SQLROWID
值并将其作为Java编程语言中的RowId
对象返回。- 指定由:
-
readRowId
在接口SQLInput
- 返回:
-
一个代表流头部的SQL
ROWID
值的RowId
对象;如果读取的值是SQLNULL
,则返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.6
-