类 SQLOutputImpl

java.lang.Object
javax.sql.rowset.serial.SQLOutputImpl
所有已实现的接口:
SQLOutput

public class SQLOutputImpl extends Object implements SQLOutput
用于将自定义映射的用户定义类型 (UDT) 的属性写回数据库的输出流。驱动程序在内部使用这个接口,应用程序程序员永远不会直接调用它的方法。

当应用程序调用方法 PreparedStatement.setObject 时,驱动程序会检查要写入的值是否是具有自定义映射的 UDT。如果是,则类型map中将有一个条目,其中包含为该 UDT 实现 SQLData 的类的 Class 对象。如果要写入的值是 SQLData 的实例,则驱动程序将创建 SQLOutputImpl 的实例并将其传递给方法 SQLData.writeSQL。方法 writeSQL 依次调用适当的 SQLOutputImpl.writeXXX 方法将数据从 SQLData 对象写入 SQLOutputImpl 输出流作为 SQL 用户定义类型的表示。

自从:
1.5
  • 构造方法总结

    构造方法
    构造方法
    描述
    SQLOutputImpl(Vector<?> attributes, Map<String,?> map)
    创建一个新的 SQLOutputImpl 对象,该对象使用给定的属性向量和类型映射进行初始化。
  • 方法总结

    修饰符和类型
    方法
    描述
    void
    将 Java 编程语言中的 Array 对象写入此 SQLOutputImpl 对象。
    void
    将 ASCII 字符流写入此 SQLOutputImpl 对象。
    void
    将 Java 编程语言中的 java.math.BigDecimal 对象写入此 SQLOutputImpl 对象。
    void
    将未解释的字节流写入此 SQLOutputImpl 对象。
    void
    将 Java 编程语言中的 Blob 对象写入此 SQLOutputImpl 对象。
    void
    writeBoolean(boolean x)
    将 Java 编程语言中的 boolean 写入此 SQLOutputImpl 对象。
    void
    writeByte(byte x)
    将 Java 编程语言中的 byte 写入此 SQLOutputImpl 对象。
    void
    writeBytes(byte[] x)
    将 Java 编程语言中的 bytes 数组写入此 SQLOutputImpl 对象。
    void
    将 Unicode 字符流写入此 SQLOutputImpl 对象。
    void
    将 Java 编程语言中的 Clob 对象写入此 SQLOutputImpl 对象。
    void
    将 Java 编程语言中的 java.sql.Date 对象写入此 SQLOutputImpl 对象。
    void
    writeDouble(double x)
    将 Java 编程语言中的 double 写入此 SQLOutputImpl 对象。
    void
    writeFloat(float x)
    将 Java 编程语言中的 float 写入此 SQLOutputImpl 对象。
    void
    writeInt(int x)
    将 Java 编程语言中的 int 写入此 SQLOutputImpl 对象。
    void
    writeLong(long x)
    将 Java 编程语言中的 long 写入此 SQLOutputImpl 对象。
    void
    将 SQL NCLOB 值写入流。
    void
    将下一个属性作为 Java 编程语言中的 String 写入流。
    void
    将给定 SQLData 对象中包含的数据写入流。
    void
    将 Java 编程语言中的 Ref 对象写入此 SQLOutputImpl 对象。
    void
    将 SQL ROWID 值写入流。
    void
    writeShort(short x)
    将 Java 编程语言中的 short 写入此 SQLOutputImpl 对象。
    void
    将 SQL XML 值写入流。
    void
    将 Java 编程语言中的 String 写入此 SQLOutputImpl 对象。
    void
    将 Java 编程语言中的 Struct 对象写入此 SQLOutputImpl 对象。
    void
    将 Java 编程语言中的 java.sql.Time 对象写入此 SQLOutputImpl 对象。
    void
    将 Java 编程语言中的 java.sql.Timestamp 对象写入此 SQLOutputImpl 对象。
    void
    writeURL(URL url)
    将 Java 编程语言中的 java.sql.Type.DATALINK 对象写入此 SQLOutputImpl 对象。

    在类 java.lang.Object 中声明的方法

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    在接口 java.sql.SQLOutput 中声明的方法

    writeObject
  • 构造方法详细信息

    • SQLOutputImpl

      public SQLOutputImpl(Vector <?> attributes, Map <String ,?> map) throws SQL异常
      创建一个新的 SQLOutputImpl 对象,该对象使用给定的属性向量和类型映射进行初始化。驱动程序将使用类型映射来确定调用哪个 SQLData.writeSQL 方法。然后,此方法将按顺序调用适当的 SQLOutputImpl writer 方法,从而将属性写入新的输出流。
      参数:
      attributes - 一个 Vector 对象,包含要映射到 Java 编程语言中的一个或多个对象的 UDT 的属性
      map - 包含零个或多个条目的 java.util.Map 对象,每个条目由 1) 一个 String 给出 UDT 的完全限定名称和 2) Class 对象用于定义 UDT 映射方式的 SQLData 实现
      抛出:
      SQLException - 如果 attributesmap 是一个 null
  • 方法详情

    • writeString

      public void writeString(String  x) throws SQL异常
      将 Java 编程语言中的 String 写入此 SQLOutputImpl 对象。在将其返回到数据库之前,驱动程序将其转换为 SQL CHARVARCHARLONGVARCHAR
      指定者:
      writeString 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeBoolean

      public void writeBoolean(boolean x) throws SQL异常
      将 Java 编程语言中的 boolean 写入此 SQLOutputImpl 对象。在将其返回到数据库之前,驱动程序将其转换为 SQL BIT
      指定者:
      writeBoolean 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeByte

      public void writeByte(byte x) throws SQL异常
      将 Java 编程语言中的 byte 写入此 SQLOutputImpl 对象。在将其返回到数据库之前,驱动程序将其转换为 SQL BIT
      指定者:
      writeByte 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeShort

      public void writeShort(short x) throws SQL异常
      将 Java 编程语言中的 short 写入此 SQLOutputImpl 对象。在将其返回到数据库之前,驱动程序将其转换为 SQL SMALLINT
      指定者:
      writeShort 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeInt

      public void writeInt(int x) throws SQL异常
      将 Java 编程语言中的 int 写入此 SQLOutputImpl 对象。在将其返回到数据库之前,驱动程序将其转换为 SQL INTEGER
      指定者:
      writeInt 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeLong

      public void writeLong(long x) throws SQL异常
      将 Java 编程语言中的 long 写入此 SQLOutputImpl 对象。在将其返回到数据库之前,驱动程序将其转换为 SQL BIGINT
      指定者:
      writeLong 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeFloat

      public void writeFloat(float x) throws SQL异常
      将 Java 编程语言中的 float 写入此 SQLOutputImpl 对象。在将其返回到数据库之前,驱动程序将其转换为 SQL REAL
      指定者:
      writeFloat 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeDouble

      public void writeDouble(double x) throws SQL异常
      将 Java 编程语言中的 double 写入此 SQLOutputImpl 对象。在将其返回到数据库之前,驱动程序将其转换为 SQL DOUBLE
      指定者:
      writeDouble 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeBigDecimal

      public void writeBigDecimal(BigDecimal  x) throws SQL异常
      将 Java 编程语言中的 java.math.BigDecimal 对象写入此 SQLOutputImpl 对象。在将其返回到数据库之前,驱动程序将其转换为 SQL NUMERIC
      指定者:
      writeBigDecimal 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeBytes

      public void writeBytes(byte[] x) throws SQL异常
      将 Java 编程语言中的 bytes 数组写入此 SQLOutputImpl 对象。在将其返回到数据库之前,驱动程序将其转换为 SQL VARBINARYLONGVARBINARY
      指定者:
      writeBytes 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeDate

      public void writeDate(Date  x) throws SQL异常
      将 Java 编程语言中的 java.sql.Date 对象写入此 SQLOutputImpl 对象。在将其返回到数据库之前,驱动程序将其转换为 SQL DATE
      指定者:
      writeDate 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeTime

      public void writeTime(Time  x) throws SQL异常
      将 Java 编程语言中的 java.sql.Time 对象写入此 SQLOutputImpl 对象。在将其返回到数据库之前,驱动程序将其转换为 SQL TIME
      指定者:
      writeTime 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeTimestamp

      public void writeTimestamp(Timestamp  x) throws SQL异常
      将 Java 编程语言中的 java.sql.Timestamp 对象写入此 SQLOutputImpl 对象。在将其返回到数据库之前,驱动程序将其转换为 SQL TIMESTAMP
      指定者:
      writeTimestamp 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeCharacterStream

      public void writeCharacterStream(Reader  x) throws SQL异常
      将 Unicode 字符流写入此 SQLOutputImpl 对象。驱动程序将执行从 Unicode 到数据库 CHAR 格式的任何必要转换。
      指定者:
      writeCharacterStream 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeAsciiStream

      public void writeAsciiStream(InputStream  x) throws SQL异常
      将 ASCII 字符流写入此 SQLOutputImpl 对象。驱动程序将执行从 ASCII 到数据库 CHAR 格式的任何必要转换。
      指定者:
      writeAsciiStream 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeBinaryStream

      public void writeBinaryStream(InputStream  x) throws SQL异常
      将未解释的字节流写入此 SQLOutputImpl 对象。
      指定者:
      writeBinaryStream 在接口 SQLOutput
      参数:
      x - 传递给数据库的值
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeObject

      public void writeObject(SQLData  x) throws SQL异常
      将给定 SQLData 对象中包含的数据写入流。当 SQLData 对象为 null 时,此方法将 SQL NULL 写入流。否则,它调用给定对象的 SQLData.writeSQL 方法,该方法将对象的属性写入流。

      SQLData.writeSQ 方法的实现调用适当的 SQLOutputImpl.writeXXX 方法来按顺序写入每个对象的属性。这些属性必须从 SQLInput 输入流中读取,并按照它们在用户定义类型的 SQL 定义中列出的相同顺序写入 SQLOutputImpl 输出流。

      指定者:
      writeObject 在接口 SQLOutput
      参数:
      x - 表示 SQL 结构化或不同类型数据的对象
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeRef

      public void writeRef(Ref  x) throws SQL异常
      将 Java 编程语言中的 Ref 对象写入此 SQLOutputImpl 对象。驱动程序将其转换为可序列化的 SerialRef SQL REF 值,然后再将其返回到数据库。
      指定者:
      writeRef 在接口 SQLOutput
      参数:
      x - 表示 SQL REF 值的对象
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeBlob

      public void writeBlob(Blob  x) throws SQL异常
      将 Java 编程语言中的 Blob 对象写入此 SQLOutputImpl 对象。驱动程序将其转换为可序列化的 SerialBlob SQL BLOB 值,然后再将其返回到数据库。
      指定者:
      writeBlob 在接口 SQLOutput
      参数:
      x - 表示 SQL BLOB 值的对象
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeClob

      public void writeClob(Clob  x) throws SQL异常
      将 Java 编程语言中的 Clob 对象写入此 SQLOutputImpl 对象。驱动程序将其转换为可序列化的 SerialClob SQL CLOB 值,然后再将其返回到数据库。
      指定者:
      writeClob 在接口 SQLOutput
      参数:
      x - 表示 SQL CLOB 值的对象
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeStruct

      public void writeStruct(Struct  x) throws SQL异常
      将 Java 编程语言中的 Struct 对象写入此 SQLOutputImpl 对象。驱动程序将此值转换为 SQL 结构类型,然后再将其返回到数据库。

      当 SQL 结构类型已映射到 Java 编程语言中的 Struct 对象(标准映射)时,应使用此方法。如果 SQL 结构类型已自定义映射到 Java 编程语言中的类,则应使用方法 writeObject

      指定者:
      writeStruct 在接口 SQLOutput
      参数:
      x - 表示 SQL 结构类型属性的对象
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeArray

      public void writeArray(Array  x) throws SQL异常
      将 Java 编程语言中的 Array 对象写入此 SQLOutputImpl 对象。驱动程序将此值转换为可序列化的 SerialArray SQL ARRAY 值,然后再将其返回到数据库。
      指定者:
      writeArray 在接口 SQLOutput
      参数:
      x - 表示 SQL ARRAY 值的对象
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeURL

      public void writeURL(URL  url) throws SQL异常
      将 Java 编程语言中的 java.sql.Type.DATALINK 对象写入此 SQLOutputImpl 对象。驱动程序将此值转换为可序列化的 SerialDatalink SQL DATALINK 值,然后再将其返回到数据库。
      指定者:
      writeURL 在接口 SQLOutput
      参数:
      url - 表示 SQL DATALINK 值的对象
      抛出:
      SQLException - 如果 SQLOutputImpl 对象正被 SQLData 对象使用,试图将 UDT 的属性值写入数据库。
    • writeNString

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

      public void writeNClob(NClob  x) throws SQL异常
      将 SQL NCLOB 值写入流。
      指定者:
      writeNClob 在接口 SQLOutput
      参数:
      x - 代表 SQL NCLOB 值数据的 NClob 对象
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.6
    • writeRowId

      public void writeRowId(RowId  x) throws SQL异常
      将 SQL ROWID 值写入流。
      指定者:
      writeRowId 在接口 SQLOutput
      参数:
      x - 代表 SQL ROWID 值数据的 RowId 对象
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.6
    • writeSQLXML

      public void writeSQLXML(SQLXML  x) throws SQL异常
      将 SQL XML 值写入流。
      指定者:
      writeSQLXML 在接口 SQLOutput
      参数:
      x - 代表 SQL XML 值数据的 SQLXML 对象
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.6