- 所有已实现的接口:
-
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
ConstructorsConstructorDescriptionSQLInputImpl(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返回。bytereadByte()将此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返回。intreadInt()将此SQLInputImpl对象中的下一个属性作为Java编程语言中的int返回。longreadLong()将此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对象返回。booleanwasNull()确定从此SQLInputImpl对象读取的最后一个值是否为null。Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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
-