模块 java.sql
 java.sql

接口 SQLOutput

所有已知的实现类:
SQLOutputImpl

public interface SQLOutput
用于将用户定义类型的属性写回数据库的输出流。此接口仅用于自定义映射,由驱动程序使用,其方法永远不会被程序员直接调用。

当实现接口 SQLData 的类的对象作为参数传递给 SQL 语句时,JDBC 驱动程序调用方法 SQLData.getSQLType 来确定传递给数据库的 SQL 数据类型。然后,驱动程序创建 SQLOutput 的实例并将其传递给方法 SQLData.writeSQLwriteSQL 方法依次调用相应的 SQLOutputwriter方法 writeBooleanwriteCharacterStream 等)将数据从 SQLData 对象写入 SQLOutput 输出流作为 SQL 用户定义类型的表示。

自从:
1.2
  • 方法总结

    修饰符和类型
    方法
    描述
    void
    将 SQL ARRAY 值写入流。
    void
    将下一个属性作为 ASCII 字符流写入流。
    void
    将下一个属性作为 java.math.BigDecimal 对象写入流。
    void
    将下一个属性作为未解释字节流写入流。
    void
    将 SQL BLOB 值写入流。
    void
    writeBoolean(boolean x)
    将下一个属性作为 Java boolean写入流。
    void
    writeByte(byte x)
    将下一个属性作为 Java 字节写入流。
    void
    writeBytes(byte[] x)
    将下一个属性作为字节数组写入流。
    void
    将下一个属性作为 Unicode 字符流写入流。
    void
    将 SQL CLOB 值写入流。
    void
    将下一个属性作为 java.sql.Date 对象写入流。
    void
    writeDouble(double x)
    将下一个属性作为 Java 双精度值写入流。
    void
    writeFloat(float x)
    将下一个属性作为 Java 浮点数写入流。
    void
    writeInt(int x)
    将下一个属性作为 Java int 写入流。
    void
    writeLong(long x)
    将下一个属性作为 Java long 写入流。
    void
    将 SQL NCLOB 值写入流。
    void
    将下一个属性作为 Java 编程语言中的 String 写入流。
    default void
    writeObject(Object x, SQLType targetSqlType)
    将给定对象中包含的数据写入流。
    void
    将给定 SQLData 对象中包含的数据写入流。
    void
    将 SQL REF 值写入流。
    void
    将 SQL ROWID 值写入流。
    void
    writeShort(short x)
    将下一个属性作为 Java short 写入流。
    void
    将 SQL XML 值写入流。
    void
    将下一个属性作为 Java 编程语言中的 String 写入流。
    void
    将 SQL 结构化类型值写入流。
    void
    将下一个属性作为 java.sql.Time 对象写入流。
    void
    将下一个属性作为 java.sql.Timestamp 对象写入流。
    void
    将 SQL DATALINK 值写入流。
  • 方法详情

    • writeString

      void writeString(String  x) throws SQL异常
      将下一个属性作为 Java 编程语言中的 String 写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeBoolean

      void writeBoolean(boolean x) throws SQL异常
      将下一个属性作为 Java boolean写入流。将下一个属性作为 Java 编程语言中的 String 写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeByte

      void writeByte(byte x) throws SQL异常
      将下一个属性作为 Java 字节写入流。将下一个属性作为 Java 编程语言中的 String 写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeShort

      void writeShort(short x) throws SQL异常
      将下一个属性作为 Java short 写入流。将下一个属性作为 Java 编程语言中的 String 写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeInt

      void writeInt(int x) throws SQL异常
      将下一个属性作为 Java int 写入流。将下一个属性作为 Java 编程语言中的 String 写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeLong

      void writeLong(long x) throws SQL异常
      将下一个属性作为 Java long 写入流。将下一个属性作为 Java 编程语言中的 String 写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeFloat

      void writeFloat(float x) throws SQL异常
      将下一个属性作为 Java 浮点数写入流。将下一个属性作为 Java 编程语言中的 String 写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeDouble

      void writeDouble(double x) throws SQL异常
      将下一个属性作为 Java 双精度值写入流。将下一个属性作为 Java 编程语言中的 String 写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeBigDecimal

      void writeBigDecimal(BigDecimal  x) throws SQL异常
      将下一个属性作为 java.math.BigDecimal 对象写入流。将下一个属性作为 Java 编程语言中的 String 写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeBytes

      void writeBytes(byte[] x) throws SQL异常
      将下一个属性作为字节数组写入流。将下一个属性作为 Java 编程语言中的 String 写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeDate

      void writeDate(Date  x) throws SQL异常
      将下一个属性作为 java.sql.Date 对象写入流。将下一个属性作为 Java 编程语言中的 java.sql.Date 对象写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeTime

      void writeTime(Time  x) throws SQL异常
      将下一个属性作为 java.sql.Time 对象写入流。将下一个属性作为 Java 编程语言中的 java.sql.Date 对象写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeTimestamp

      void writeTimestamp(Timestamp  x) throws SQL异常
      将下一个属性作为 java.sql.Timestamp 对象写入流。将下一个属性作为 Java 编程语言中的 java.sql.Date 对象写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeCharacterStream

      void writeCharacterStream(Reader  x) throws SQL异常
      将下一个属性作为 Unicode 字符流写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeAsciiStream

      void writeAsciiStream(InputStream  x) throws SQL异常
      将下一个属性作为 ASCII 字符流写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeBinaryStream

      void writeBinaryStream(InputStream  x) throws SQL异常
      将下一个属性作为未解释字节流写入流。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeObject

      void writeObject(SQLData  x) throws SQL异常
      将给定 SQLData 对象中包含的数据写入流。当 SQLData 对象为 null 时,此方法将 SQL NULL 写入流。否则,它调用给定对象的 SQLData.writeSQL 方法,该方法将对象的属性写入流。 SQLData.writeSQL 方法的实现调用适当的 SQLOutput 编写器方法来按顺序写入每个对象的属性。这些属性必须从 SQLInput 输入流中读取,并按照它们在用户定义类型的 SQL 定义中列出的相同顺序写入 SQLOutput 输出流。
      参数:
      x - 表示 SQL 结构化或不同类型数据的对象
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeRef

      void writeRef(Ref  x) throws SQL异常
      将 SQL REF 值写入流。
      参数:
      x - 代表 SQL REF 值数据的 Ref 对象
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeBlob

      void writeBlob(Blob  x) throws SQL异常
      将 SQL BLOB 值写入流。
      参数:
      x - 代表 SQL BLOB 值数据的 Blob 对象
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeClob

      void writeClob(Clob  x) throws SQL异常
      将 SQL CLOB 值写入流。
      参数:
      x - 代表 SQL CLOB 值数据的 Clob 对象
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeStruct

      void writeStruct(Struct  x) throws SQL异常
      将 SQL 结构化类型值写入流。
      参数:
      x - 代表 SQL 结构类型数据的 Struct 对象
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeArray

      void writeArray(Array  x) throws SQL异常
      将 SQL ARRAY 值写入流。
      参数:
      x - 代表 SQL ARRAY 类型数据的 Array 对象
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • writeURL

      void writeURL(URL  x) throws SQL异常
      将 SQL DATALINK 值写入流。
      参数:
      x - 代表 SQL DATALINK 类型数据的 java.net.URL 对象
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
    • writeNString

      void writeNString(String  x) throws SQL异常
      将下一个属性作为 Java 编程语言中的 String 写入流。驱动程序将它发送到流时将其转换为 SQL NCHARNVARCHARLONGNVARCHAR 值(取决于参数的大小相对于驱动程序对 NVARCHAR 值的限制)。
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • writeNClob

      void writeNClob(NClob  x) throws SQL异常
      将 SQL NCLOB 值写入流。
      参数:
      x - 代表 SQL NCLOB 值数据的 NClob 对象
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • writeRowId

      void writeRowId(RowId  x) throws SQL异常
      将 SQL ROWID 值写入流。
      参数:
      x - 代表 SQL ROWID 值数据的 RowId 对象
      抛出:
      SQLException - 如果发生数据库访问错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • writeSQLXML

      void writeSQLXML(SQLXML  x) throws SQL异常
      将 SQL XML 值写入流。
      参数:
      x - 代表 SQL XML 值数据的 SQLXML 对象
      抛出:
      SQLException - 如果发生数据库访问错误,java.xml.transform.ResultWriterOutputStream 尚未为 SQLXML 对象关闭,或者处理 XML 值时出现错误。异常的 getCause 方法可能会提供更详细的异常,例如,如果流不包含有效的 XML。
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • writeObject

      default void writeObject(Object  x, SQLType  targetSqlType) throws SQL异常
      将给定对象中包含的数据写入流。在发送到流之前,对象将被转换为指定的 targetSqlType。

      objectnull 时,此方法将 SQL NULL 写入流。

      如果对象具有自定义映射(属于实现接口 SQLData 的类),JDBC 驱动程序应调用方法 SQLData.writeSQL 将其写入 SQL 数据流。另一方面,如果对象属于实现 RefBlobClobNClobStructjava.net.URLArray 的类,则驱动程序应将其作为相应 SQL 类型的值传递给数据库。

      默认实现会抛出 SQLFeatureNotSupportedException

      参数:
      x - 包含输入参数值的对象
      targetSqlType - 要发送到数据库的 SQL 类型。
      抛出:
      SQLException - 如果发生数据库访问错误,或者如果 x 指定的 Java 对象是 InputStream 或 Reader 对象并且 scale 参数的值小于零
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此数据类型
      自从:
      1.8
      参见: