- java.lang.Object
-
- javax.sql.rowset.serial.SQLInputImpl
-
- All Implemented Interfaces:
-
SQLInput
public class SQLInputImpl extends Object implements SQLInput
用于自定义映射用户定义类型(UDT)的输入流。 一个SQLInputImpl对象是一个输入流,它包含一个作为UDT属性的值的流。当在具有自定义映射的SQL结构化或不同类型上调用方法
getObject时,getObject由驱动程序使用; 程序员从不直接调用SQLInputImpl方法。 它们在这里提供给那些编写RowSet实现的人的方便。SQLInputImpl类提供了一组类似于ResultSet吸气剂方法的读取器方法。 这些方法可以读取SQLInputImpl对象中的值。方法
wasNull用于确定最后读取的值是否为SQLNULL。当方法
getObject与实现接口SQLData的类的对象SQLData调用时,JDBC驱动程序调用方法SQLData.getSQLType来确定定制映射的UDT的SQL类型。 驱动程序创建一个SQLInputImpl的实例,并使用UDT的属性进行填充。 然后,驱动程序将输入流传SQLData.readSQL方法SQLData.readSQL,方法SQLData.readSQL又调用SQLInputImpl读取器方法从输入流读取属性。- 从以下版本开始:
- 1.5
- 另请参见:
-
SQLData
-
-
构造方法摘要
构造方法 Constructor 描述 SQLInputImpl(Object[] attributes, Map<String,Class<?>> map)创建一个SQLInputImpl对象,该对象使用给定的属性数组和给定的类型映射进行初始化。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 ArrayreadArray()从流中读取SQLARRAY值,并将其作为Java编程语言中的Array对象返回。InputStreamreadAsciiStream()将此SQLInputImpl对象中的下一个属性作为ASCII字符流返回。BigDecimalreadBigDecimal()检索SQLInputImpl对象中的下一个属性为java.math.BigDecimal。InputStreamreadBinaryStream()将此SQLInputImpl对象中的下一个属性返回为未解释的字节流。BlobreadBlob()在SQLInputImpl对象的头部BLOB值作为Java编程语言中的Blob对象。booleanreadBoolean()检索此SQLInputImpl对象中的下一个属性,作为Java编程语言中的boolean。bytereadByte()获取此的下一个属性SQLInputImpl对象为byte的Java编程语言。byte[]readBytes()将此SQLInputImpl对象中的下一个属性作为字节数组检索。ReaderreadCharacterStream()将此SQLInputImpl对象中的下一个属性作为Unicode字符流检索。ClobreadClob()CLOBSQLInputImpl对象的头部的CLOB值作为Java编程语言中的一个Clob对象。DatereadDate()检索SQLInputImpl的下一个属性为java.sql.Date对象。doublereadDouble()获取此的下一个属性SQLInputImpl对象为double的Java编程语言。floatreadFloat()检索此SQLInputImpl对象中的下一个属性为Java编程语言中的float。intreadInt()将该SQLInputImpl对象中的下一个属性作为Java编程语言中的int检索。longreadLong()获取此的下一个属性SQLInputImpl对象为long的Java编程语言。NClobreadNClob()从流中读取SQLNCLOB值,并将其作为Java编程语言中的Clob对象返回。StringreadNString()读取流中的下一个属性,并将其作为Java编程语言中的String返回。ObjectreadObject()以Object的Java编程语言Object该SQLInputImpl对象的头部的值。RefreadRef()以该Java编程语言的SQLInputImpl对象的形式Ref该SQLInputImpl对象的头部的值。RowIdreadRowId()从流中读取SQLROWID值,并将其作为Java编程语言中的RowId对象返回。shortreadShort()将这个SQLInputImpl对象中的下一个属性作为Java编程语言中的short。SQLXMLreadSQLXML()从流中读取SQLXML值,并将其作为Java编程语言中的SQLXML对象返回。StringreadString()将该SQLInputImpl对象中的下一个属性作为Java编程语言中的String。TimereadTime()将此SQLInputImpl对象中的下一个属性检索为java.sql.Time对象。TimestampreadTimestamp()将此SQLInputImpl对象中的下一个属性检索为java.sql.Timestamp对象。URLreadURL()从流中读取SQLDATALINK值,并将其作为Java编程语言中的URL对象返回。booleanwasNull()确定从该SQLInputImpl对象读取的最后一个值是否为null。-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.sql.SQLInput
readObject
-
-
-
-
构造方法详细信息
-
SQLInputImpl
public SQLInputImpl(Object[] attributes, Map<String,Class<?>> map) throws SQLException
创建一个SQLInputImpl对象,该对象使用给定的属性数组和给定的类型映射进行初始化。 如果任何属性是UDT,其名称位于类型映射中的条目中,则将根据相应的SQLData实现映射属性。- 参数
-
attributes-的阵列Object实例,其中每个元素是一个UDT的属性。 数组中属性的顺序与UDT定义中定义属性的顺序相同。 -
map- 一个包含零个或多个条目的java.util.Map对象,每个条目由1)一个String给出UDT的完全限定名称,以及2)Class对象,用于定义如何映射UDT的SQLData实现 - 异常
-
SQLException- 如果attributes或map是null值
-
-
方法详细信息
-
readString
public String readString() throws SQLException
获取此的下一个属性SQLInputImpl对象为String的Java编程语言。此方法不执行类型安全检查以确定返回的类型是否为预期类型; 这个责任被委托给由
SQLData实现定义的UDT映射。- Specified by:
-
readString在接口SQLInput - 结果
-
这个
SQLInputImpl对象的下一个属性; 如果值为SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置,或者流中没有其他值。
-
readBoolean
public boolean readBoolean() throws SQLException获取此的下一个属性SQLInputImpl对象为boolean的Java编程语言。此方法不执行类型安全检查以确定返回的类型是否为预期类型; 这个责任被委托给由
SQLData实现定义的UDT映射。- Specified by:
-
readBoolean在接口SQLInput - 结果
-
这个
SQLInputImpl对象的下一个属性; 如果值为SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置,或者流中没有其他值。
-
readByte
public byte readByte() throws SQLException获取此的下一个属性SQLInputImpl对象为byte的Java编程语言。此方法不执行类型安全检查以确定返回的类型是否为预期类型; 这个责任被委托给由
SQLData实现定义的UDT映射。- Specified by:
-
readByte在接口SQLInput - 结果
-
此
SQLInputImpl对象中的下一个属性; 如果值为SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置,或者流中没有其他值
-
readShort
public short readShort() throws SQLException获取此的下一个属性SQLInputImpl对象为short的Java编程语言。此方法不执行类型安全检查以确定返回的类型是否为预期类型; 这个责任被委托给由
SQLData实现定义的UDT映射。- Specified by:
-
readShort在接口SQLInput - 结果
-
这个
SQLInputImpl对象的下一个属性; 如果值为SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置,或者流中没有更多值
-
readInt
public int readInt() throws SQLException将该SQLInputImpl对象中的下一个属性作为Java编程语言中的int检索。此方法不执行类型安全检查以确定返回的类型是否为预期类型; 这个责任被委托给由
SQLData实现定义的UDT映射。- Specified by:
-
readInt在接口SQLInput - 结果
-
此
SQLInputImpl对象中的下一个属性; 如果值为SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置,或者流中没有更多值
-
readLong
public long readLong() throws SQLException将这个SQLInputImpl对象中的下一个属性作为Java编程语言中的一个long检索。此方法不执行类型安全检查以确定返回的类型是否为预期类型; 这个责任被委托给由
SQLData实现定义的UDT映射。- Specified by:
-
readLong在接口SQLInput - 结果
-
这个
SQLInputImpl对象的下一个属性; 如果值为SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置,或者流中没有更多值
-
readFloat
public float readFloat() throws SQLException获取此的下一个属性SQLInputImpl对象为float的Java编程语言。此方法不执行类型安全检查以确定返回的类型是否为预期类型; 这个责任被委托给由
SQLData实现定义的UDT映射。- Specified by:
-
readFloat在接口SQLInput - 结果
-
这个
SQLInputImpl对象的下一个属性; 如果值为SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置,或者流中没有更多值
-
readDouble
public double readDouble() throws SQLException获取此的下一个属性SQLInputImpl对象为double的Java编程语言。此方法不执行类型安全检查以确定返回的类型是否为预期类型; 这个责任被委托给由
SQLData实现定义的UDT映射。- Specified by:
-
readDouble在接口SQLInput - 结果
-
这个
SQLInputImpl对象的下一个属性; 如果值为SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置,或者流中没有更多值
-
readBigDecimal
public BigDecimal readBigDecimal() throws SQLException
检索SQLInputImpl对象中的下一个属性为java.math.BigDecimal。此方法不执行类型安全检查以确定返回的类型是否为预期类型; 这个责任被委托给由
SQLData实现定义的UDT映射。- Specified by:
-
readBigDecimal在接口SQLInput - 结果
-
这个
SQLInputImpl对象的下一个属性; 如果值为SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置,或者流中没有更多值
-
readBytes
public byte[] readBytes() throws SQLException将此SQLInputImpl对象中的下一个属性作为字节数组检索。此方法不执行类型安全检查以确定返回的类型是否为预期类型; 这个责任被委托给由
SQLData实现定义的UDT映射。- Specified by:
-
readBytes在接口SQLInput - 结果
-
这个
SQLInputImpl对象的下一个属性; 如果值为SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置,或者流中没有更多值
-
readDate
public Date readDate() throws SQLException
检索此SQLInputImpl的下一个属性为java.sql.Date对象。此方法不执行类型安全检查以确定返回的类型是否为预期类型; 这个责任被委托给由
SQLData实现定义的UDT映射。- Specified by:
-
readDate在接口SQLInput - 结果
-
此
SQLInputImpl对象中的下一个属性; 如果值为SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置,或者流中没有更多值
-
readTime
public Time readTime() throws SQLException
将此SQLInputImpl对象中的下一个属性检索为java.sql.Time对象。此方法不执行类型安全检查,以确定返回的类型是否为预期类型,因为将此职责委托给由
SQLData实现实现的UDT映射。- Specified by:
-
readTime在接口SQLInput - 结果
-
属性;
如果值为
SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置; 或者如果流中没有其他值。
-
readTimestamp
public Timestamp readTimestamp() throws SQLException
将此SQLInputImpl对象中的下一个属性检索为java.sql.Timestamp对象。- Specified by:
-
readTimestamp在接口SQLInput - 结果
-
属性;
如果值为
SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置; 或者如果流中没有其他值。
-
readCharacterStream
public Reader readCharacterStream() throws SQLException
将此SQLInputImpl对象中的下一个属性作为Unicode字符流检索。此方法不执行类型安全检查,以确定返回的类型是否为预期类型,因为该责任由
SQLData实现执行的委托给UDT映射。- Specified by:
-
readCharacterStream在接口SQLInput - 结果
-
属性;
如果值为
SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置; 或者如果流中没有其他值。
-
readAsciiStream
public InputStream readAsciiStream() throws SQLException
将此SQLInputImpl对象中的下一个属性作为ASCII字符流返回。此方法不执行类型安全检查,以确定返回的类型是否为预期类型,因为此责任由
SQLData实现执行的委托给UDT映射。- Specified by:
-
readAsciiStream在接口SQLInput - 结果
-
属性;
如果值为
SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置; 或者如果流中没有其他值。
-
readBinaryStream
public InputStream readBinaryStream() throws SQLException
将此SQLInputImpl对象中的下一个属性返回为未解释的字节流。此方法不执行类型安全检查,以确定返回的类型是否为预期类型,因为将此职责委托给由
SQLData实现实现的UDT映射。- Specified by:
-
readBinaryStream在接口SQLInput - 结果
-
属性;
如果值为
SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置; 或者如果流中没有其他值。
-
readObject
public Object readObject() throws SQLException
以这种SQLInputImpl对象作为Object以Java编程语言的形式Object该值。 返回的对象的实际类型由SQL编程语言中的类型的默认映射确定,除非有自定义映射,在这种情况下,返回的对象的类型由此流的类型映射决定。启用JDBC技术的驱动程序在将流传送到应用程序之前,先注册一个类型映射。
当流头的数据是SQL
NULL,此方法返回null。 如果基准是具有自定义映射的SQL结构或不同类型,则此方法确定流头上的基准的SQL类型,构造适当类的对象,并调用该对象的方法SQLData.readSQL。 然后,readSQL方法调用适当的SQLInputImpl.readXXX方法从流中检索属性值。- Specified by:
-
readObject在接口SQLInput - 结果
-
流头的值为Java编程语言中的
Object;null如果值为SQLNULL - 异常
-
SQLException- 如果读取位置位于无效位置; 或者如果流中没有其他值。
-
readRef
public Ref readRef() throws SQLException
以该Java编程语言的SQLInputImpl对象的形式Ref该SQLInputImpl对象的头部的值。- Specified by:
-
readRef在接口SQLInput - 结果
-
一个
Ref对象,表示流头上的SQLREF值; 如果值为SQL NULL返回null - 异常
-
SQLException- 如果读取位置位于无效位置; 或者如果流中没有其他值。
-
readBlob
public Blob readBlob() throws SQLException
将该SQLInputImpl对象的头部的BLOB值作为Java编程语言中的Blob对象检索。此方法不执行类型安全检查,以确定返回的类型是否为预期类型,因为该责任由
SQLData实现执行的委托给UDT映射。- Specified by:
-
readBlob在接口SQLInput - 结果
-
一个表示该流头的SQL
BLOB值的Blob对象; 如果值为SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置; 或者如果流中没有其他值。
-
readClob
public Clob readClob() throws SQLException
以SQLInputImpl对象的头部CLOB值作为Java编程语言中的Clob对象。此方法不执行类型安全检查,以确定返回的类型是否为预期类型,因为此责任由
SQLData实现执行的委托给UDT映射。- Specified by:
-
readClob在接口SQLInput - 结果
-
一个
Clob对象,表示流的头部的SQLCLOB值; 如果值为SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置; 或者如果流中没有其他值。
-
readArray
public Array readArray() throws SQLException
从流中读取SQLARRAY值,并将其作为Java编程语言中的Array对象返回。此方法不执行类型安全检查,以确定返回的类型是否为预期类型,因为该责任由
SQLData实现由UDT映射委派。- Specified by:
-
readArray在接口SQLInput - 结果
-
一个
Array对象,表示流的头部的SQLARRAY值; *如果值为SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置; 或者如果流中没有其他值。
-
wasNull
public boolean wasNull() throws SQLException确定从此SQLInputImpl对象读取的最后一个值是否为null。- Specified by:
-
wasNull在接口SQLInput - 结果
-
true如果最近读取的SQL值是null; 否则,false; 默认情况下将返回false - 异常
-
SQLException- 如果发生错误,则确定最后读取的值为null;
-
readURL
public URL readURL() throws SQLException
从流中读取SQLDATALINK值,并将其作为Java编程语言中的URL对象返回。此方法不执行类型安全检查,以确定返回的类型是否为预期类型,因为该责任由
SQLData实现由委托给UDT映射。- Specified by:
-
readURL在接口SQLInput - 结果
-
一个
URL对象,表示流头上的SQLDATALINK值; *如果值为SQL NULL,则返回null - 异常
-
SQLException- 如果读取位置位于无效位置; 或者如果流中没有其他值。
-
readNClob
public NClob readNClob() throws SQLException
从流中读取SQLNCLOB值,并将其作为Java编程语言中的Clob对象返回。- Specified by:
-
readNClob在接口SQLInput - 结果
-
一个
NClob对象,表示流头部的SQLNCLOB值的数据;null如果读取的值是SQLNULL - 异常
-
SQLException- 如果发生数据库访问错误 - 从以下版本开始:
- 1.6
-
readNString
public String readNString() throws SQLException
读取流中的下一个属性,并将其作为Java编程语言中的String返回。 访问时,它适用于使用NCHAR,NVARCHAR和LONGNVARCHAR列。- Specified by:
-
readNString在接口SQLInput - 结果
-
属性;
如果值为SQL
NULL,则返回null - 异常
-
SQLException- 如果发生数据库访问错误 - 从以下版本开始:
- 1.6
-
readSQLXML
public SQLXML readSQLXML() throws SQLException
从流中读取SQLXML值,并将其作为Java编程语言中的SQLXML对象返回。- Specified by:
-
readSQLXML在接口SQLInput - 结果
-
一个
SQLXML对象,表示流头上的SQLXML值的数据;null如果读取的值是SQLNULL - 异常
-
SQLException- 如果发生数据库访问错误 - 从以下版本开始:
- 1.6
-
readRowId
public RowId readRowId() throws SQLException
从流中读取SQLROWID值,并将其作为Java编程语言中的RowId对象返回。- Specified by:
-
readRowId在接口SQLInput - 结果
-
表示流头部的SQL
ROWID值的数据的RowId对象;null如果读取的值是SQLNULL - 异常
-
SQLException- 如果发生数据库访问错误 - 从以下版本开始:
- 1.6
-
-