java.lang.Object
javax.sql.rowset.serial.SQLOutputImpl
- 所有已实现的接口:
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对象,该对象使用给定的属性向量和类型映射进行初始化。 -
方法总结
修饰符和类型方法描述voidwriteArray(Array x) 将 Java 编程语言中的Array对象写入此SQLOutputImpl对象。void将 ASCII 字符流写入此SQLOutputImpl对象。void将 Java 编程语言中的java.math.BigDecimal对象写入此SQLOutputImpl对象。void将未解释的字节流写入此SQLOutputImpl对象。void将 Java 编程语言中的Blob对象写入此SQLOutputImpl对象。voidwriteBoolean(boolean x) 将 Java 编程语言中的boolean写入此SQLOutputImpl对象。voidwriteByte(byte x) 将 Java 编程语言中的byte写入此SQLOutputImpl对象。voidwriteBytes(byte[] x) 将 Java 编程语言中的bytes数组写入此SQLOutputImpl对象。void将 Unicode 字符流写入此SQLOutputImpl对象。void将 Java 编程语言中的Clob对象写入此SQLOutputImpl对象。void将 Java 编程语言中的java.sql.Date对象写入此SQLOutputImpl对象。voidwriteDouble(double x) 将 Java 编程语言中的double写入此SQLOutputImpl对象。voidwriteFloat(float x) 将 Java 编程语言中的float写入此SQLOutputImpl对象。voidwriteInt(int x) 将 Java 编程语言中的int写入此SQLOutputImpl对象。voidwriteLong(long x) 将 Java 编程语言中的long写入此SQLOutputImpl对象。voidwriteNClob(NClob x) 将 SQLNCLOB值写入流。void将下一个属性作为 Java 编程语言中的String写入流。void将给定SQLData对象中包含的数据写入流。void将 Java 编程语言中的Ref对象写入此SQLOutputImpl对象。voidwriteRowId(RowId x) 将 SQLROWID值写入流。voidwriteShort(short x) 将 Java 编程语言中的short写入此SQLOutputImpl对象。void将 SQLXML值写入流。void将 Java 编程语言中的String写入此SQLOutputImpl对象。void将 Java 编程语言中的Struct对象写入此SQLOutputImpl对象。void将 Java 编程语言中的java.sql.Time对象写入此SQLOutputImpl对象。void将 Java 编程语言中的java.sql.Timestamp对象写入此SQLOutputImpl对象。void将 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
创建一个新的SQLOutputImpl对象,该对象使用给定的属性向量和类型映射进行初始化。驱动程序将使用类型映射来确定调用哪个SQLData.writeSQL方法。然后,此方法将按顺序调用适当的SQLOutputImplwriter 方法,从而将属性写入新的输出流。- 参数:
attributes- 一个Vector对象,包含要映射到 Java 编程语言中的一个或多个对象的 UDT 的属性map- 包含零个或多个条目的java.util.Map对象,每个条目由 1) 一个String给出 UDT 的完全限定名称和 2)Class对象用于定义 UDT 映射方式的SQLData实现- 抛出:
SQLException- 如果attributes或map是一个null值
-
-
方法详情
-
writeString
将 Java 编程语言中的String写入此SQLOutputImpl对象。在将其返回到数据库之前,驱动程序将其转换为 SQLCHAR、VARCHAR或LONGVARCHAR。- 指定者:
writeString在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeBoolean
将 Java 编程语言中的boolean写入此SQLOutputImpl对象。在将其返回到数据库之前,驱动程序将其转换为 SQLBIT。- 指定者:
writeBoolean在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeByte
将 Java 编程语言中的byte写入此SQLOutputImpl对象。在将其返回到数据库之前,驱动程序将其转换为 SQLBIT。- 指定者:
writeByte在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeShort
将 Java 编程语言中的short写入此SQLOutputImpl对象。在将其返回到数据库之前,驱动程序将其转换为 SQLSMALLINT。- 指定者:
writeShort在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeInt
将 Java 编程语言中的int写入此SQLOutputImpl对象。在将其返回到数据库之前,驱动程序将其转换为 SQLINTEGER。- 指定者:
writeInt在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeLong
将 Java 编程语言中的long写入此SQLOutputImpl对象。在将其返回到数据库之前,驱动程序将其转换为 SQLBIGINT。- 指定者:
writeLong在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeFloat
将 Java 编程语言中的float写入此SQLOutputImpl对象。在将其返回到数据库之前,驱动程序将其转换为 SQLREAL。- 指定者:
writeFloat在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeDouble
将 Java 编程语言中的double写入此SQLOutputImpl对象。在将其返回到数据库之前,驱动程序将其转换为 SQLDOUBLE。- 指定者:
writeDouble在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeBigDecimal
将 Java 编程语言中的java.math.BigDecimal对象写入此SQLOutputImpl对象。在将其返回到数据库之前,驱动程序将其转换为 SQLNUMERIC。- 指定者:
writeBigDecimal在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeBytes
将 Java 编程语言中的bytes数组写入此SQLOutputImpl对象。在将其返回到数据库之前,驱动程序将其转换为 SQLVARBINARY或LONGVARBINARY。- 指定者:
writeBytes在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeDate
将 Java 编程语言中的java.sql.Date对象写入此SQLOutputImpl对象。在将其返回到数据库之前,驱动程序将其转换为 SQLDATE。- 指定者:
writeDate在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeTime
将 Java 编程语言中的java.sql.Time对象写入此SQLOutputImpl对象。在将其返回到数据库之前,驱动程序将其转换为 SQLTIME。- 指定者:
writeTime在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeTimestamp
将 Java 编程语言中的java.sql.Timestamp对象写入此SQLOutputImpl对象。在将其返回到数据库之前,驱动程序将其转换为 SQLTIMESTAMP。- 指定者:
writeTimestamp在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeCharacterStream
将 Unicode 字符流写入此SQLOutputImpl对象。驱动程序将执行从 Unicode 到数据库CHAR格式的任何必要转换。- 指定者:
writeCharacterStream在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeAsciiStream
将 ASCII 字符流写入此SQLOutputImpl对象。驱动程序将执行从 ASCII 到数据库CHAR格式的任何必要转换。- 指定者:
writeAsciiStream在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeBinaryStream
将未解释的字节流写入此SQLOutputImpl对象。- 指定者:
writeBinaryStream在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeObject
将给定SQLData对象中包含的数据写入流。当SQLData对象为null时,此方法将 SQLNULL写入流。否则,它调用给定对象的SQLData.writeSQL方法,该方法将对象的属性写入流。SQLData.writeSQ方法的实现调用适当的SQLOutputImpl.writeXXX方法来按顺序写入每个对象的属性。这些属性必须从SQLInput输入流中读取,并按照它们在用户定义类型的 SQL 定义中列出的相同顺序写入SQLOutputImpl输出流。- 指定者:
writeObject在接口SQLOutput中- 参数:
x- 表示 SQL 结构化或不同类型数据的对象- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeRef
将 Java 编程语言中的Ref对象写入此SQLOutputImpl对象。驱动程序将其转换为可序列化的SerialRefSQLREF值,然后再将其返回到数据库。- 指定者:
writeRef在接口SQLOutput中- 参数:
x- 表示 SQLREF值的对象- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeBlob
将 Java 编程语言中的Blob对象写入此SQLOutputImpl对象。驱动程序将其转换为可序列化的SerialBlobSQLBLOB值,然后再将其返回到数据库。- 指定者:
writeBlob在接口SQLOutput中- 参数:
x- 表示 SQLBLOB值的对象- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeClob
将 Java 编程语言中的Clob对象写入此SQLOutputImpl对象。驱动程序将其转换为可序列化的SerialClobSQLCLOB值,然后再将其返回到数据库。- 指定者:
writeClob在接口SQLOutput中- 参数:
x- 表示 SQLCLOB值的对象- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeStruct
将 Java 编程语言中的Struct对象写入此SQLOutputImpl对象。驱动程序将此值转换为 SQL 结构类型,然后再将其返回到数据库。当 SQL 结构类型已映射到 Java 编程语言中的
Struct对象(标准映射)时,应使用此方法。如果 SQL 结构类型已自定义映射到 Java 编程语言中的类,则应使用方法writeObject。- 指定者:
writeStruct在接口SQLOutput中- 参数:
x- 表示 SQL 结构类型属性的对象- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeArray
将 Java 编程语言中的Array对象写入此SQLOutputImpl对象。驱动程序将此值转换为可序列化的SerialArraySQLARRAY值,然后再将其返回到数据库。- 指定者:
writeArray在接口SQLOutput中- 参数:
x- 表示 SQLARRAY值的对象- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeURL
将 Java 编程语言中的java.sql.Type.DATALINK对象写入此SQLOutputImpl对象。驱动程序将此值转换为可序列化的SerialDatalinkSQLDATALINK值,然后再将其返回到数据库。- 指定者:
writeURL在接口SQLOutput中- 参数:
url- 表示 SQLDATALINK值的对象- 抛出:
SQLException- 如果SQLOutputImpl对象正被SQLData对象使用,试图将 UDT 的属性值写入数据库。
-
writeNString
将下一个属性作为 Java 编程语言中的String写入流。驱动程序将它发送到流时将其转换为 SQLNCHAR或NVARCHAR或LONGNVARCHAR值(取决于参数的大小相对于驱动程序对NVARCHAR值的限制)。- 指定者:
writeNString在接口SQLOutput中- 参数:
x- 传递给数据库的值- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.6
-
writeNClob
将 SQLNCLOB值写入流。- 指定者:
writeNClob在接口SQLOutput中- 参数:
x- 代表 SQLNCLOB值数据的NClob对象- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.6
-
writeRowId
将 SQLROWID值写入流。- 指定者:
writeRowId在接口SQLOutput中- 参数:
x- 代表 SQLROWID值数据的RowId对象- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.6
-
writeSQLXML
将 SQLXML值写入流。- 指定者:
writeSQLXML在接口SQLOutput中- 参数:
x- 代表 SQLXML值数据的SQLXML对象- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.6
-