Module java.sql
Package java.sql

Interface SQLOutput

所有已知的实现类:
SQLOutputImpl

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

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

自版本:
1.2
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    将SQL ARRAY值写入流中。
    void
    将下一个属性作为ASCII字符流写入流中。
    void
    将下一个属性作为java.math.BigDecimal对象写入流中。
    void
    将下一个属性作为未解释字节流写入流中。
    void
    将SQL BLOB值写入流中。
    void
    writeBoolean(boolean x)
    将下一个属性作为Java布尔值写入流中。
    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整数写入流中。
    void
    writeLong(long x)
    将下一个属性作为Java长整型写入流中。
    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短整型写入流中。
    void
    将SQL XML值写入流中。
    void
    将下一个属性作为Java编程语言中的String写入流中。
    void
    将SQL结构化类型值写入流中。
    void
    将下一个属性作为java.sql.Time对象写入流中。
    void
    将下一个属性作为java.sql.Timestamp对象写入流中。
    void
    将SQL DATALINK值写入流中。
  • Method Details

    • writeString

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      void writeSQLXML(SQLXML x) throws SQLException
      将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 SQLException
      写入流中包含的给定对象的数据。在将对象发送到流之前,将把对象转换为指定的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
      参见: