模块  java.sql
软件包  java.sql

Interface SQLOutput

  • 所有已知实现类:
    SQLOutputImpl

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

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

    从以下版本开始:
    1.2
    • 方法详细信息

      • 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 short写入流中。 将下一个属性作为Java编程语言中的String写入流中。
        参数
        x - 要传递给数据库的值
        异常
        SQLException - 如果发生数据库访问错误
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.2
      • writeInt

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

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

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

        void writeDouble​(double x)
                  throws SQLException
        将下一个属性作为Java double写入流中。 将下一个属性作为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编程语言中的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方法以按顺序写入每个对象的属性。 必须从SQLInput输入流中读取属性,并按照用户定义类型的SQL定义中列出的顺序将其写入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.URL ,或Array ,驾驶员应把它传递给数据库作为相应SQL类型的值。

        默认实现将抛出SQLFeatureNotSupportedException

        参数
        x - 包含输入参数值的对象
        targetSqlType - 要发送到数据库的SQL类型。
        异常
        SQLException - 如果发生数据库访问错误或者x指定的Java对象是InputStream或Reader对象且scale参数的值小于零
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此数据类型
        从以下版本开始:
        1.8
        另请参见:
        JDBCTypeSQLType