模块 java.sql
 java.sql

接口 SQLInput

所有已知的实现类:
SQLInputImpl

public interface SQLInput
输入流,包含表示 SQL 结构化类型或 SQL 单值类型实例的值流。该接口仅用于自定义映射,由驱动程序在后台使用,程序员永远不会直接调用SQLInput方法。这reader方法(readLongreadBytes 等)为 SQLData 接口的实现提供了一种读取 SQLInput 对象中的值的方法。并且如 SQLData 中所述,必须按照相应属性在类型的 SQL 定义中出现的顺序调用读取器方法。方法 wasNull 用于判断最后读取的值是否为 SQL NULL

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

自从:
1.2
  • 方法总结

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

    • readString

      String  readString() throws SQL异常
      读取流中的下一个属性并将其作为 Java 编程语言中的 String 返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readBoolean

      boolean readBoolean() throws SQL异常
      读取流中的下一个属性并将其作为 Java 编程语言中的 boolean 返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 false
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readByte

      byte readByte() throws SQL异常
      读取流中的下一个属性并将其作为 Java 编程语言中的 byte 返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 0
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readShort

      short readShort() throws SQL异常
      读取流中的下一个属性并将其作为 Java 编程语言中的 short 返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 0
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readInt

      int readInt() throws SQL异常
      读取流中的下一个属性并将其作为 Java 编程语言中的 int 返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 0
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readLong

      long readLong() throws SQL异常
      读取流中的下一个属性并将其作为 Java 编程语言中的 long 返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 0
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readFloat

      float readFloat() throws SQL异常
      读取流中的下一个属性并将其作为 Java 编程语言中的 float 返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 0
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readDouble

      double readDouble() throws SQL异常
      读取流中的下一个属性并将其作为 Java 编程语言中的 double 返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 0
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readBigDecimal

      BigDecimal  readBigDecimal() throws SQL异常
      读取流中的下一个属性并将其作为 Java 编程语言中的 java.math.BigDecimal 对象返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readBytes

      byte[] readBytes() throws SQL异常
      读取流中的下一个属性并将其作为 Java 编程语言中的字节数组返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readDate

      Date  readDate() throws SQL异常
      读取流中的下一个属性并将其作为 java.sql.Date 对象返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readTime

      Time  readTime() throws SQL异常
      读取流中的下一个属性并将其作为 java.sql.Time 对象返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readTimestamp

      Timestamp  readTimestamp() throws SQL异常
      读取流中的下一个属性并将其作为 java.sql.Timestamp 对象返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readCharacterStream

      Reader  readCharacterStream() throws SQL异常
      读取流中的下一个属性并将其作为 Unicode 字符流返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readAsciiStream

      InputStream  readAsciiStream() throws SQL异常
      读取流中的下一个属性并将其作为 ASCII 字符流返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readBinaryStream

      InputStream  readBinaryStream() throws SQL异常
      读取流中的下一个属性并将其作为未解释字节流返回。
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readObject

      Object  readObject() throws SQL异常
      读取流头部的数据并将其作为 Java 编程语言中的 Object 返回。返回对象的实际类型由默认类型映射以及此流的类型map中存在的任何自定义确定。

      在将流传递给应用程序之前,JDBC 驱动程序将类型映射注册到流中。

      当流头部的数据是 SQL NULL 时,该方法返回 null 。如果数据是 SQL 结构化类型或单值类型,则它确定流头部数据的 SQL 类型。如果流的类型映射具有该 SQL 类型的条目,驱动程序将构造一个适当类的对象并调用该对象的方法 SQLData.readSQL,该方法使用为该方法描述的协议从流中读取额外的数据。

      返回:
      流头部的数据在 Java 编程语言中为 Objectnull 如果数据为 SQL NULL
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readRef

      Ref  readRef() throws SQL异常
      从流中读取 SQL REF 值并将其作为 Java 编程语言中的 Ref 对象返回。
      返回:
      代表流头部 SQL REF 值的 Ref 对象; null 如果读取的值是 SQL NULL
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readBlob

      Blob  readBlob() throws SQL异常
      从流中读取 SQL BLOB 值并将其作为 Java 编程语言中的 Blob 对象返回。
      返回:
      一个 Blob 对象,表示流头部的 SQL BLOB 值的数据; null 如果读取的值是 SQL NULL
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readClob

      Clob  readClob() throws SQL异常
      从流中读取 SQL CLOB 值并将其作为 Java 编程语言中的 Clob 对象返回。
      返回:
      一个 Clob 对象,表示流头部的 SQL CLOB 值的数据; null 如果读取的值是 SQL NULL
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readArray

      Array  readArray() throws SQL异常
      从流中读取 SQL ARRAY 值并将其作为 Java 编程语言中的 Array 对象返回。
      返回:
      Array 对象表示流头部的 SQL ARRAY 值的数据; null 如果读取的值是 SQL NULL
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • wasNull

      boolean wasNull() throws SQL异常
      检索最后读取的值是否为 SQL NULL
      返回:
      true 如果最近读取的 SQL 值是 SQL NULLfalse否则
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • readURL

      URL  readURL() throws SQL异常
      从流中读取 SQL DATALINK 值并将其作为 Java 编程语言中的 java.net.URL 对象返回。
      返回:
      一个 java.net.URL 对象。
      抛出:
      SQLException - 如果发生数据库访问错误,或者 URL 格式错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
    • readNClob

      NClob  readNClob() throws SQL异常
      从流中读取 SQL NCLOB 值并将其作为 Java 编程语言中的 NClob 对象返回。
      返回:
      一个 NClob 对象,表示流头部的 SQL NCLOB 值的数据; null 如果读取的值是 SQL NULL
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • readNString

      String  readNString() throws SQL异常
      读取流中的下一个属性并将其作为 Java 编程语言中的 String 返回。它旨在用于访问 NCHARNVARCHARLONGNVARCHAR 列时使用。
      返回:
      属性;如果值为 SQL NULL ,则返回 null
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • readSQLXML

      SQLXML  readSQLXML() throws SQL异常
      从流中读取 SQL XML 值并将其作为 Java 编程语言中的 SQLXML 对象返回。
      返回:
      一个 SQLXML 对象,表示流头部的 SQL XML 值的数据; null 如果读取的值是 SQL NULL
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • readRowId

      RowId  readRowId() throws SQL异常
      从流中读取 SQL ROWID 值并将其作为 Java 编程语言中的 RowId 对象返回。
      返回:
      一个 RowId 对象,表示流头部的 SQL ROWID 值的数据; null 如果读取的值是 SQL NULL
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • readObject

      default <T> T readObject(Class <T> type) throws SQL异常
      读取流中的下一个属性并将其作为 Java 编程语言中的 Object 返回。返回对象的实际类型由指定的 Java 数据类型以及此流的类型map中存在的任何定制确定。

      在将流传递给应用程序之前,JDBC 驱动程序将类型映射注册到流中。

      当流头部的属性是 SQL NULL 时,该方法返回 null。如果属性是 SQL 结构化类型或单值类型,则它确定流头部属性的 SQL 类型。如果流的类型映射具有该 SQL 类型的条目,驱动程序将构造一个适当类的对象并调用该对象的方法 SQLData.readSQL,该方法使用为该方法描述的协议从流中读取额外的数据。

      默认实现会抛出 SQLFeatureNotSupportedException

      类型参数:
      T - 此 Class 对象建模的类的类型
      参数:
      type - 表示要将属性转换为的 Java 数据类型的类。
      返回:
      流头部的属性为 Java 编程语言中的 Objectnull 如果属性为 SQL NULL
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.8