Module  java.sql
软件包  java.sql

Interface SQLInput

  • 所有已知实现类:
    SQLInputImpl


    public interface SQLInput
    包含表示SQL结构化类型或SQL不同类型实例的值的流的输入流。 该界面仅用于自定义映射,由驱动程序在幕后使用,程序员从不直接调用SQLInput方法。 读取器的方法( readLongreadBytes ,等等)为的实现提供了一种方法SQLData接口以读取值SQLInput对象。 并且如SQLData ,必须按照它们对应的属性出现在类型的SQL定义中的顺序进行对reader方法的调用。 方法wasNull用于确定最后读取的值是否为SQL NULL

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

    从以下版本开始:
    1.2
    • 方法摘要

      所有方法  接口方法  抽象方法  Default Methods 
      Modifier and Type 方法 描述
      Array readArray​()
      从流中读取SQL ARRAY值,并将其作为Java编程语言中的 Array对象返回。
      InputStream readAsciiStream​()
      读取流中的下一个属性并将其作为ASCII字符流返回。
      BigDecimal readBigDecimal​()
      读取流中的下一个属性,并将其作为Java编程语言中的一个 java.math.BigDecimal对象返回。
      InputStream readBinaryStream​()
      读取流中的下一个属性并将其作为未解释的字节流返回。
      Blob readBlob​()
      从流中读取SQL BLOB值,并将其作为Java编程语言中的 Blob对象返回。
      boolean readBoolean​()
      读取流中的下一个属性,并将其作为Java编程语言中的 boolean返回。
      byte readByte​()
      读取流中的下一个属性,并将其作为Java编程语言中的一个 byte返回。
      byte[] readBytes​()
      读取流中的下一个属性,并将其作为Java编程语言中的字节数组返回。
      Reader readCharacterStream​()
      读取流中的下一个属性,并将其作为Unicode字符流返回。
      Clob readClob​()
      从流中读取SQL CLOB值,并将其作为Java编程语言中的 Clob对象返回。
      Date readDate​()
      读取流中的下一个属性并将其作为 java.sql.Date对象返回。
      double readDouble​()
      读取流中的下一个属性,并将其作为Java编程语言中的一个 double返回。
      float readFloat​()
      读取流中的下一个属性,并将其作为Java编程语言中的 float返回。
      int readInt​()
      读取流中的下一个属性,并将其作为Java编程语言中的一个 int返回。
      long readLong​()
      读取流中的下一个属性,并将其作为Java编程语言中的 long返回。
      NClob readNClob​()
      从流中读取SQL NCLOB值,并将其作为Java编程语言中的 NClob对象返回。
      String readNString​()
      读取流中的下一个属性,并将其作为Java编程语言中的一个 String返回。
      Object readObject​()
      读取流的头部的数据,并将其作为Java编程语言中的一个 Object返回。
      default <T> T readObject​(Class<T> type)
      读取流中的下一个属性,并将其作为Java编程语言中的一个 Object返回。
      Ref readRef​()
      从流中读取SQL REF值,并将其作为Java编程语言中的 Ref对象返回。
      RowId readRowId​()
      从流中读取SQL ROWID值,并将其作为Java编程语言中的 RowId对象返回。
      short readShort​()
      读取流中的下一个属性,并将其作为Java编程语言中的一个 short返回。
      SQLXML readSQLXML​()
      从流中读取SQL XML值,并将其作为Java编程语言中的 SQLXML对象返回。
      String readString​()
      读取流中的下一个属性,并将其作为Java编程语言中的 String返回。
      Time readTime​()
      读取流中的下一个属性,并将其作为 java.sql.Time对象返回。
      Timestamp readTimestamp​()
      读取流中的下一个属性,并将其作为 java.sql.Timestamp对象返回。
      URL readURL​()
      从流中读取SQL DATALINK值,并将其作为Java编程语言中的 java.net.URL对象返回。
      boolean wasNull​()
      检索最后读取的值是否为SQL NULL
    • 方法详细信息

      • readBoolean

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        Object readObject​()
                   throws SQLException
        读取流头的数据,并以Java编程语言中的Object返回。 返回的对象的实际类型由默认类型映射以及此流的类型映射中存在的任何自定义项确定。

        流式传输到应用程序之前,JDBC驱动程序会向流中注册类型映射。

        当流的头部的数据是SQL NULL ,该方法返回null 如果基准是SQL结构或不同类型,则它确定流头上的基准的SQL类型。 如果流的类型映射具有该SQL类型的条目,则驱动程序构造适当类的对象,并调用该对象上的方法SQLData.readSQL ,该对象使用该方法描述的协议从流中读取附加数据。

        结果
        流头的数据作为Java编程语言中的一个Object ; null如果基准是SQL NULL
        异常
        SQLException - 如果发生数据库访问错误
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.2
      • readRef

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

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

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

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

        boolean wasNull​()
                 throws SQLException
        检索最后读取的值是否为SQL NULL
        结果
        true如果最近读取的SQL值是SQL NULL ; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.2
      • readURL

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

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

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

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

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

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

        流式传输到应用程序之前,JDBC驱动程序会向流中注册类型映射。

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

        默认实现将抛出SQLFeatureNotSupportedException

        参数类型
        T - 由此Class对象建模的类的类型
        参数
        type - 表示将属性转换为Java数据类型的类。
        结果
        流的头部属性为Java编程语言中的一个Object ; null如果属性是SQL NULL
        异常
        SQLException - 如果发生数据库访问错误
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.8