类 SQLInputImpl

java.lang.Object
javax.sql.rowset.serial.SQLInputImpl
所有已实现的接口:
SQLInput

public class SQLInputImpl extends Object implements SQLInput
用于自定义映射用户定义类型 (UDT) 的输入流。 SQLInputImpl 对象是一个输入流,其中包含作为 UDT 属性的值流。

当在具有自定义映射的 SQL 结构或不同类型上调用方法 getObject 时,驱动程序在后台使用此类;程序员从不直接调用 SQLInputImpl 方法。此处提供它们是为了方便那些编写 RowSet 实现的人。

SQLInputImpl 类提供了一组类似于 ResultSet getter 方法的读取器方法。这些方法可以读取 SQLInputImpl 对象中的值。

方法wasNull用于判断最后读取的值是否为SQLNULL

当使用实现接口 SQLData 的类的对象调用方法 getObject 时,JDBC 驱动程序调用方法 SQLData.getSQLType 来确定自定义映射的 UDT 的 SQL 类型。驱动程序创建 SQLInputImpl 的实例,并使用 UDT 的属性填充它。然后,驱动程序将输入流传递给方法 SQLData.readSQL,后者又调用 SQLInputImpl 读取器方法以从输入流中读取属性。

自从:
1.5
参见:
  • 构造方法总结

    构造方法
    构造方法
    描述
    SQLInputImpl(Object[] attributes, Map<String,Class<?>> map)
    创建一个用给定的属性数组和给定的类型映射初始化的 SQLInputImpl 对象。
  • 方法总结

    修饰符和类型
    方法
    描述
    从流中读取 SQL ARRAY 值并将其作为 Java 编程语言中的 Array 对象返回。
    将此 SQLInputImpl 对象中的下一个属性作为 ASCII 字符流返回。
    检索此 SQLInputImpl 对象中的下一个属性作为 java.math.BigDecimal
    将此 SQLInputImpl 对象中的下一个属性作为未解释的字节流返回。
    检索此 SQLInputImpl 对象头部的 BLOB 值作为 Java 编程语言中的 Blob 对象。
    boolean
    检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 boolean
    byte
    检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 byte
    byte[]
    检索此 SQLInputImpl 对象中的下一个属性作为字节数组。
    检索此 SQLInputImpl 对象中的下一个属性作为 Unicode 字符流。
    检索此 SQLInputImpl 对象头部的 CLOB 值作为 Java 编程语言中的 Clob 对象。
    检索此 SQLInputImpl 中的下一个属性作为 java.sql.Date 对象。
    double
    检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 double
    float
    检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 float
    int
    检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 int
    long
    检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 long
    从流中读取 SQL NCLOB 值并将其作为 Java 编程语言中的 Clob 对象返回。
    读取流中的下一个属性并将其作为 Java 编程语言中的 String 返回。
    检索此 SQLInputImpl 对象头部的值作为 Java 编程语言中的 Object
    检索此 SQLInputImpl 对象头部的值作为 Java 编程语言中的 Ref 对象。
    从流中读取 SQL ROWID 值并将其作为 Java 编程语言中的 RowId 对象返回。
    short
    检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 short
    从流中读取 SQL XML 值并将其作为 Java 编程语言中的 SQLXML 对象返回。
    检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 String
    检索此 SQLInputImpl 对象中的下一个属性作为 java.sql.Time 对象。
    检索此 SQLInputImpl 对象中的下一个属性作为 java.sql.Timestamp 对象。
    从流中读取 SQL DATALINK 值并将其作为 Java 编程语言中的 URL 对象返回。
    boolean
    确定从此 SQLInputImpl 对象读取的最后一个值是否为 null

    在类 java.lang.Object 中声明的方法

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    在接口 java.sql.SQLInput 中声明的方法

    readObject
  • 构造方法详细信息

    • SQLInputImpl

      public SQLInputImpl(Object [] attributes, Map <String ,Class <?>> map) throws SQL异常
      创建一个用给定的属性数组和给定的类型映射初始化的 SQLInputImpl 对象。如果任何属性是 UDT,其名称在类型映射的条目中,则该属性将根据相应的 SQLData 实现进行映射。
      参数:
      attributes - 一个 Object 实例数组,其中每个元素都是 UDT 的一个属性。数组中属性的顺序与 UDT 定义中定义属性的顺序相同。
      map - 包含零个或多个条目的 java.util.Map 对象,每个条目由 1) 一个 String 给出 UDT 的完全限定名称和 2) Class 对象用于定义 UDT 映射方式的 SQLData 实现
      抛出:
      SQLException - 如果 attributesmap 是一个 null
  • 方法详情

    • readString

      public String  readString() throws SQL异常
      检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 String

      此方法不执行类型安全检查以确定返回类型是否为预期类型;此职责委托给 SQLData 实现定义的 UDT 映射。

      指定者:
      readString 在接口 SQLInput
      返回:
      SQLInputImpl 对象中的下一个属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置或者流中没有其他值。
    • readBoolean

      public boolean readBoolean() throws SQL异常
      检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 boolean

      此方法不执行类型安全检查以确定返回类型是否为预期类型;此职责委托给 SQLData 实现定义的 UDT 映射。

      指定者:
      readBoolean 在接口 SQLInput
      返回:
      SQLInputImpl 对象中的下一个属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置或者流中没有其他值。
    • readByte

      public byte readByte() throws SQL异常
      检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 byte

      此方法不执行类型安全检查以确定返回类型是否为预期类型;此职责委托给 SQLData 实现定义的 UDT 映射。

      指定者:
      readByte 在接口 SQLInput
      返回:
      SQLInputImpl 对象中的下一个属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置或者流中没有其他值
    • readShort

      public short readShort() throws SQL异常
      检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 short

      此方法不执行类型安全检查以确定返回类型是否为预期类型;此职责委托给 SQLData 实现定义的 UDT 映射。

      指定者:
      readShort 在接口 SQLInput
      返回:
      SQLInputImpl 对象中的下一个属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置或者流中没有更多值
    • readInt

      public int readInt() throws SQL异常
      检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 int

      此方法不执行类型安全检查以确定返回类型是否为预期类型;此职责委托给 SQLData 实现定义的 UDT 映射。

      指定者:
      readInt 在接口 SQLInput
      返回:
      SQLInputImpl 对象中的下一个属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置或者流中没有更多值
    • readLong

      public long readLong() throws SQL异常
      检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 long

      此方法不执行类型安全检查以确定返回类型是否为预期类型;此职责委托给 SQLData 实现定义的 UDT 映射。

      指定者:
      readLong 在接口 SQLInput
      返回:
      SQLInputImpl 对象中的下一个属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置或者流中没有更多值
    • readFloat

      public float readFloat() throws SQL异常
      检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 float

      此方法不执行类型安全检查以确定返回类型是否为预期类型;此职责委托给 SQLData 实现定义的 UDT 映射。

      指定者:
      readFloat 在接口 SQLInput
      返回:
      SQLInputImpl 对象中的下一个属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置或者流中没有更多值
    • readDouble

      public double readDouble() throws SQL异常
      检索此 SQLInputImpl 对象中的下一个属性作为 Java 编程语言中的 double

      此方法不执行类型安全检查以确定返回类型是否为预期类型;此职责委托给 SQLData 实现定义的 UDT 映射。

      指定者:
      readDouble 在接口 SQLInput
      返回:
      SQLInputImpl 对象中的下一个属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置或者流中没有更多值
    • readBigDecimal

      public BigDecimal  readBigDecimal() throws SQL异常
      检索此 SQLInputImpl 对象中的下一个属性作为 java.math.BigDecimal

      此方法不执行类型安全检查以确定返回类型是否为预期类型;此职责委托给 SQLData 实现定义的 UDT 映射。

      指定者:
      readBigDecimal 在接口 SQLInput
      返回:
      SQLInputImpl 对象中的下一个属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置或者流中没有更多值
    • readBytes

      public byte[] readBytes() throws SQL异常
      检索此 SQLInputImpl 对象中的下一个属性作为字节数组。

      此方法不执行类型安全检查以确定返回类型是否为预期类型;此职责委托给 SQLData 实现定义的 UDT 映射。

      指定者:
      readBytes 在接口 SQLInput
      返回:
      SQLInputImpl 对象中的下一个属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置或者流中没有更多值
    • readDate

      public Date  readDate() throws SQL异常
      检索此 SQLInputImpl 中的下一个属性作为 java.sql.Date 对象。

      此方法不执行类型安全检查以确定返回类型是否为预期类型;此职责委托给 SQLData 实现定义的 UDT 映射。

      指定者:
      readDate 在接口 SQLInput
      返回:
      SQLInputImpl 对象中的下一个属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置或者流中没有更多值
    • readTime

      public Time  readTime() throws SQL异常
      检索此 SQLInputImpl 对象中的下一个属性作为 java.sql.Time 对象。

      此方法不执行类型安全检查以确定返回的类型是否为预期类型,因为此职责已委托给由 SQLData 实现实现的 UDT 映射。

      指定者:
      readTime 在接口 SQLInput
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置;或者如果流中没有其他值。
    • readTimestamp

      public Timestamp  readTimestamp() throws SQL异常
      检索此 SQLInputImpl 对象中的下一个属性作为 java.sql.Timestamp 对象。
      指定者:
      readTimestamp 在接口 SQLInput
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置;或者如果流中没有其他值。
    • readCharacterStream

      public Reader  readCharacterStream() throws SQL异常
      检索此 SQLInputImpl 对象中的下一个属性作为 Unicode 字符流。

      此方法不执行类型安全检查以确定返回的类型是否为预期类型,因为此职责已委托给由 SQLData 实现实现的 UDT 映射。

      指定者:
      readCharacterStream 在接口 SQLInput
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置;或者如果流中没有其他值。
    • readAsciiStream

      public InputStream  readAsciiStream() throws SQL异常
      将此 SQLInputImpl 对象中的下一个属性作为 ASCII 字符流返回。

      此方法不执行类型安全检查以确定返回的类型是否为预期类型,因为此职责已委托给由 SQLData 实现实现的 UDT 映射。

      指定者:
      readAsciiStream 在接口 SQLInput
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置;或者如果流中没有其他值。
    • readBinaryStream

      public InputStream  readBinaryStream() throws SQL异常
      将此 SQLInputImpl 对象中的下一个属性作为未解释的字节流返回。

      此方法不执行类型安全检查以确定返回的类型是否为预期类型,因为此职责已委托给由 SQLData 实现实现的 UDT 映射。

      指定者:
      readBinaryStream 在接口 SQLInput
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置;或者如果流中没有其他值。
    • readObject

      public Object  readObject() throws SQL异常
      检索此 SQLInputImpl 对象头部的值作为 Java 编程语言中的 Object。返回对象的实际类型由 SQL 类型到 Java 编程语言类型的默认映射确定,除非有自定义映射,在这种情况下,返回对象的类型由该流的类型映射确定。

      在将流传递给应用程序之前,支持 JDBC 技术的驱动程序会在流中注册一个类型映射。

      当流头部的数据是 SQL NULL 时,此方法返回 null 。如果数据是 SQL 结构化或具有自定义映射的单值类型,则此方法确定流头部数据的 SQL 类型,构造适当类的对象,并对该对象调用方法 SQLData.readSQLreadSQL 方法然后调用适当的 SQLInputImpl.readXXX 方法从流中检索属性值。

      指定者:
      readObject 在接口 SQLInput
      返回:
      流头部的值作为 Java 编程语言中的 Objectnull 如果值为 SQL NULL
      抛出:
      SQLException - 如果读取位置位于无效位置;或者如果流中没有其他值。
    • readRef

      public Ref  readRef() throws SQL异常
      检索此 SQLInputImpl 对象头部的值作为 Java 编程语言中的 Ref 对象。
      指定者:
      readRef 在接口 SQLInput
      返回:
      代表流头部 SQL REF 值的 Ref 对象;如果值为 SQL NULL 返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置;或者如果流中没有其他值。
    • readBlob

      public Blob  readBlob() throws SQL异常
      检索此 SQLInputImpl 对象头部的 BLOB 值作为 Java 编程语言中的 Blob 对象。

      此方法不执行类型安全检查以确定返回的类型是否为预期类型,因为此职责已委托给由 SQLData 实现实现的 UDT 映射。

      指定者:
      readBlob 在接口 SQLInput
      返回:
      一个 Blob 对象,表示该流头部的 SQL BLOB 值;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置;或者如果流中没有其他值。
    • readClob

      public Clob  readClob() throws SQL异常
      检索此 SQLInputImpl 对象头部的 CLOB 值作为 Java 编程语言中的 Clob 对象。

      此方法不执行类型安全检查以确定返回的类型是否为预期类型,因为此职责已委托给由 SQLData 实现实现的 UDT 映射。

      指定者:
      readClob 在接口 SQLInput
      返回:
      一个 Clob 对象,表示流头部的 SQL CLOB 值;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置;或者如果流中没有其他值。
    • readArray

      public Array  readArray() throws SQL异常
      从流中读取 SQL ARRAY 值并将其作为 Java 编程语言中的 Array 对象返回。

      此方法不执行类型安全检查以确定返回的类型是否为预期类型,因为此职责已委托给由 SQLData 实现实现的 UDT 映射。

      指定者:
      readArray 在接口 SQLInput
      返回:
      Array 对象表示流头部的 SQL ARRAY 值; * 如果值为 SQL NULL ,返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置;或者如果流中没有其他值。
    • wasNull

      public boolean wasNull() throws SQL异常
      确定从此 SQLInputImpl 对象读取的最后一个值是否为 null
      指定者:
      wasNull 在接口 SQLInput
      返回:
      true 如果最近读取的 SQL 值是 null ;否则,false;默认情况下它会返回 false
      抛出:
      SQLException - 如果发生错误,确定最后读取的值是否为 null 值;
    • readURL

      public URL  readURL() throws SQL异常
      从流中读取 SQL DATALINK 值并将其作为 Java 编程语言中的 URL 对象返回。

      此方法不执行类型安全检查以确定返回的类型是否为预期类型,因为此职责已委托给由 SQLData 实现实现的 UDT 映射。

      指定者:
      readURL 在接口 SQLInput
      返回:
      URL 对象表示流头部的 SQL DATALINK 值; * 如果值为 SQL NULL ,返回 null
      抛出:
      SQLException - 如果读取位置位于无效位置;或者如果流中没有其他值。
    • readNClob

      public NClob  readNClob() throws SQL异常
      从流中读取 SQL NCLOB 值并将其作为 Java 编程语言中的 Clob 对象返回。
      指定者:
      readNClob 在接口 SQLInput
      返回:
      一个 NClob 对象,表示流头部的 SQL NCLOB 值的数据; null 如果读取的值是 SQL NULL
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.6
    • readNString

      public String  readNString() throws SQL异常
      读取流中的下一个属性并将其作为 Java 编程语言中的 String 返回。它旨在用于访问 NCHARNVARCHARLONGNVARCHAR 列时使用。
      指定者:
      readNString 在接口 SQLInput
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.6
    • readSQLXML

      public SQLXML  readSQLXML() throws SQL异常
      从流中读取 SQL XML 值并将其作为 Java 编程语言中的 SQLXML 对象返回。
      指定者:
      readSQLXML 在接口 SQLInput
      返回:
      一个 SQLXML 对象,表示流头部的 SQL XML 值的数据; null 如果读取的值是 SQL NULL
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.6
    • readRowId

      public RowId  readRowId() throws SQL异常
      从流中读取 SQL ROWID 值并将其作为 Java 编程语言中的 RowId 对象返回。
      指定者:
      readRowId 在接口 SQLInput
      返回:
      一个 RowId 对象,表示流头部的 SQL ROWID 值的数据; null 如果读取的值是 SQL NULL
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.6