java.lang.Object
javax.sql.rowset.serial.SQLOutputImpl
- 所有已实现的接口:
-
SQLOutput
用于将自定义映射的用户定义类型(UDT)的属性写回数据库的输出流。驱动程序在内部使用此接口,其方法永远不会被应用程序员直接调用。
当应用程序调用方法PreparedStatement.setObject
时,驱动程序会检查要写入的值是否是具有自定义映射的UDT。如果是,则类型映射中将包含实现此UDT的SQLData
的Class
对象的条目。如果要写入的值是SQLData
的实例,则驱动程序将创建一个SQLOutputImpl
的实例并将其传递给方法SQLData.writeSQL
。然后,方法writeSQL
会调用适当的SQLOutputImpl.writeXXX
方法,将SQLData
对象中的数据写入SQLOutputImpl
输出流,作为SQL用户定义类型的表示。
- 自从:
- 1.5
-
Constructor Summary
ConstructorDescriptionSQLOutputImpl
(Vector<?> attributes, Map<String, ?> map) 创建一个使用给定属性向量和类型映射初始化的新SQLOutputImpl
对象。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
writeArray
(Array x) 将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
writeNClob
(NClob x) 将SQLNCLOB
值写入流中。void
将下一个属性作为Java编程语言中的String
写入流中。void
将给定的SQLData
对象中包含的数据写入流中。void
将Java编程语言中的Ref
对象写入此SQLOutputImpl
对象。void
writeRowId
(RowId x) 将SQLROWID
值写入流中。void
writeShort
(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
对象。Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface java.sql.SQLOutput
writeObject
-
Constructor Details
-
SQLOutputImpl
创建一个使用给定属性向量和类型映射初始化的新SQLOutputImpl
对象。驱动程序将使用类型映射来确定要调用哪个SQLData.writeSQL
方法。然后,此方法将按顺序调用适当的SQLOutputImpl
写入方法,从而将属性写入新的输出流。- 参数:
-
attributes
- 包含要映射到Java编程语言中一个或多个对象的UDT属性的Vector
对象 -
map
- 包含零个或多个条目的java.util.Map
对象,每个条目由1)给出UDT的完全限定名称的String
和2)定义如何映射UDT的SQLData
实现的Class
对象组成 - 抛出:
-
SQLException
- 如果attributes
或map
是null
值
-
-
Method Details
-
writeString
将Java编程语言中的String
写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为SQLCHAR
、VARCHAR
或LONGVARCHAR
。- 指定者:
-
writeString
在接口SQLOutput
- 参数:
-
x
- 要传递给数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用
-
writeBoolean
将Java编程语言中的boolean
写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为SQLBIT
。- 指定者:
-
writeBoolean
在接口SQLOutput
- 参数:
-
x
- 要传递给数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用
-
writeByte
将Java编程语言中的byte
写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为SQLBIT
。- 指定者:
-
writeByte
在接口SQLOutput
- 参数:
-
x
- 要传递给数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用
-
writeShort
将Java编程语言中的short
写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为SQLSMALLINT
。- 指定者:
-
writeShort
在接口SQLOutput
- 参数:
-
x
- 要传递给数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用
-
writeInt
将Java编程语言中的int
写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为SQLINTEGER
。- 指定者:
-
writeInt
在接口SQLOutput
- 参数:
-
x
- 要传递给数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用
-
writeLong
将Java编程语言中的long
写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为SQLBIGINT
。- 指定者:
-
writeLong
在接口SQLOutput
- 参数:
-
x
- 要传递给数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用
-
writeFloat
将Java编程语言中的float
写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为SQLREAL
。- 指定者:
-
writeFloat
在接口SQLOutput
- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用。
-
writeDouble
将Java编程语言中的double
写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为SQLDOUBLE
。- 指定者:
-
writeDouble
在接口SQLOutput
- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用。
-
writeBigDecimal
将Java编程语言中的java.math.BigDecimal
对象写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为SQLNUMERIC
。- 指定者:
-
writeBigDecimal
在接口SQLOutput
- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用。
-
writeBytes
将Java编程语言中的bytes
数组写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为SQLVARBINARY
或LONGVARBINARY
。- 指定者:
-
writeBytes
在接口SQLOutput
- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用。
-
writeDate
将Java编程语言中的java.sql.Date
对象写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为SQLDATE
。- 指定者:
-
writeDate
在接口SQLOutput
- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用。
-
writeTime
将Java编程语言中的java.sql.Time
对象写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为SQLTIME
。- 指定者:
-
writeTime
在接口SQLOutput
- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用。
-
writeTimestamp
将Java编程语言中的java.sql.Timestamp
对象写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为SQLTIMESTAMP
。- 指定者:
-
writeTimestamp
在接口SQLOutput
- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用。
-
writeCharacterStream
将Unicode字符流写入此SQLOutputImpl
对象。驱动程序将必要的Unicode到数据库CHAR
格式的转换。- 指定者:
-
writeCharacterStream
在接口SQLOutput
- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用。
-
writeAsciiStream
将ASCII字符流写入此SQLOutputImpl
对象。驱动程序将必要的ASCII到数据库CHAR
格式的转换。- 指定者:
-
writeAsciiStream
在接口SQLOutput
- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用。
-
writeBinaryStream
将未解释的字节流写入此SQLOutputImpl
对象。- 指定者:
-
writeBinaryStream
在接口SQLOutput
- 参数:
-
x
- 要传递到数据库的值 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用。
-
writeObject
将给定的SQLData
对象中包含的数据写入流。当SQLData
对象为null
时,此方法将在流中写入SQLNULL
。否则,它调用给定对象的SQLData.writeSQL
方法,该方法将对象的属性写入流。方法
SQLData.writeSQ
的实现调用适当的SQLOutputImpl.writeXXX
方法,以按顺序写入对象的每个属性。这些属性必须从SQLInput
输入流中读取,并按照用户定义类型的SQL定义中列出的顺序写入到SQLOutputImpl
输出流中。- 指定者:
-
writeObject
在接口SQLOutput
- 参数:
-
x
- 表示SQL结构化或不同类型数据的对象 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被尝试将UDT的属性值写入数据库的SQLData
对象使用。
-
writeRef
将Java编程语言中的Ref
对象写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为可序列化的SerialRef
SQLREF
值。- 指定者:
-
writeRef
在接口SQLOutput
中 - 参数:
-
x
- 表示 SQLREF
值的对象 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被SQLData
对象使用,尝试将 UDT 的属性值写入数据库。
-
writeBlob
将 Java 编程语言中的Blob
对象写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为可序列化的SerialBlob
SQLBLOB
值。- 指定者:
-
writeBlob
在接口SQLOutput
中 - 参数:
-
x
- 表示 SQLBLOB
值的对象 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被SQLData
对象使用,尝试将 UDT 的属性值写入数据库。
-
writeClob
将 Java 编程语言中的Clob
对象写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将其转换为可序列化的SerialClob
SQLCLOB
值。- 指定者:
-
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
对象。驱动程序在将其返回到数据库之前将此值转换为可序列化的SerialArray
SQLARRAY
值。- 指定者:
-
writeArray
在接口SQLOutput
中 - 参数:
-
x
- 表示 SQLARRAY
值的对象 - 抛出:
-
SQLException
- 如果SQLOutputImpl
对象正在被SQLData
对象使用,尝试将 UDT 的属性值写入数据库。
-
writeURL
将 Java 编程语言中的java.sql.Type.DATALINK
对象写入此SQLOutputImpl
对象。驱动程序在将其返回到数据库之前将此值转换为可序列化的SerialDatalink
SQLDATALINK
值。- 指定者:
-
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
-