- java.lang.Object
-
- javax.sql.rowset.serial.SQLOutputImpl
-
- 实现的所有接口
-
SQLOutput
public class SQLOutputImpl extends Object implements SQLOutput
用于将自定义映射的用户定义类型(UDT)的属性写回数据库的输出流。 驱动程序在内部使用此接口,其方法永远不会被应用程序编程人员直接调用。当应用程序调用方法
PreparedStatement.setObject
,驱动程序将检查要写入的值是否为具有自定义映射的UDT。 如果是,则类型映射中将有一个条目,其中包含为此UDT实现SQLData
的类的类
对象。 如果要写入的值是SQLData
的实例,则驱动程序将创建SQLOutputImpl
的实例并将其传递给方法SQLData.writeSQL
。 方法writeSQL
依次调用适当的SQLOutputImpl.writeXXX
方法将数据从SQLData
对象写入SQLOutputImpl
输出流,作为SQL用户定义类型的表示。- 从以下版本开始:
- 1.5
-
-
构造方法摘要
构造方法 构造器 描述 SQLOutputImpl(Vector<?> attributes, Map<String,?> map)
创建使用给定的属性向量和类型映射初始化的新SQLOutputImpl
对象。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 void
writeArray(Array x)
将Java编程语言中的Array
对象写入此SQLOutputImpl
对象。void
writeAsciiStream(InputStream x)
将ASCII字符流写入此SQLOutputImpl
对象。void
writeBigDecimal(BigDecimal x)
将Java编程语言中的java.math.BigDecimal
对象写入此SQLOutputImpl
对象。void
writeBinaryStream(InputStream x)
将未解释的字节流写入此SQLOutputImpl
对象。void
writeBlob(Blob x)
将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
writeCharacterStream(Reader x)
将Unicode字符流写入此SQLOutputImpl
对象。void
writeClob(Clob x)
将Java编程语言中的Clob
对象写入此SQLOutputImpl
对象。void
writeDate(Date x)
将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
writeNString(String x)
将下一个属性作为Java编程语言中的String
写入流中。void
writeObject(SQLData x)
将给定的SQLData
对象中包含的数据写入流。void
writeRef(Ref x)
将Java编程语言中的Ref
对象写入此SQLOutputImpl
对象。void
writeRowId(RowId x)
将SQLROWID
值写入流。void
writeShort(short x)
将Java编程语言中的short
写入此SQLOutputImpl
对象。void
writeSQLXML(SQLXML x)
将SQLXML
值写入流。void
writeString(String x)
将Java编程语言中的String
写入此SQLOutputImpl
对象。void
writeStruct(Struct x)
将Java编程语言中的Struct
对象写入此SQLOutputImpl
对象。void
writeTime(Time x)
将Java编程语言中的java.sql.Time
对象写入此SQLOutputImpl
对象。void
writeTimestamp(Timestamp x)
将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 SQLException
创建使用给定的属性向量和类型映射初始化的新SQLOutputImpl
对象。 驱动程序将使用类型映射来确定要调用的SQLData.writeSQL
方法。 然后,此方法将按顺序调用适当的SQLOutputImpl
编写器方法,从而将属性写入新的输出流。- 参数
-
attributes
- 一个Vector
对象,包含要映射到Java编程语言中的一个或多个对象的UDT的属性 -
map
- 包含零个或多个条目的java.util.Map
对象,每个条目由1)组成String
给出UDT的完全限定名称,以及2)定义UDT如何映射的SQLData
实现的类
对象 - 异常
-
SQLException
-如果attributes
或map
为null
值
-
-
方法详细信息
-
writeString
public void writeString(String x) throws SQLException
将Java编程语言中的String
写入此SQLOutputImpl
对象。 驱动程序将它转换为SQLCHAR
,VARCHAR
,或LONGVARCHAR
将其返回到数据库之前。- Specified by:
-
writeString
在接口SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeBoolean
public void writeBoolean(boolean x) throws SQLException
将Java编程语言中的boolean
写入此SQLOutputImpl
对象。 在将其返回到数据库之前,驱动程序将其转换为SQLBIT
。- Specified by:
-
writeBoolean
在界面SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeByte
public void writeByte(byte x) throws SQLException
将Java编程语言中的byte
写入此SQLOutputImpl
对象。 在将其返回到数据库之前,驱动程序将其转换为SQLBIT
。- Specified by:
-
writeByte
在界面SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeShort
public void writeShort(short x) throws SQLException
将Java编程语言中的short
写入此SQLOutputImpl
对象。 在将其返回到数据库之前,驱动程序将其转换为SQLSMALLINT
。- Specified by:
-
writeShort
在界面SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeInt
public void writeInt(int x) throws SQLException
将Java编程语言中的int
写入此SQLOutputImpl
对象。 在将其返回到数据库之前,驱动程序将其转换为SQLINTEGER
。- Specified by:
-
writeInt
在界面SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeLong
public void writeLong(long x) throws SQLException
将Java编程语言中的long
写入此SQLOutputImpl
对象。 在将其返回到数据库之前,驱动程序将其转换为SQLBIGINT
。- Specified by:
-
writeLong
在接口SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeFloat
public void writeFloat(float x) throws SQLException
将Java编程语言中的float
写入此SQLOutputImpl
对象。 在将其返回到数据库之前,驱动程序将其转换为SQLREAL
。- Specified by:
-
writeFloat
在界面SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeDouble
public void writeDouble(double x) throws SQLException
将Java编程语言中的double
写入此SQLOutputImpl
对象。 在将其返回到数据库之前,驱动程序将其转换为SQLDOUBLE
。- Specified by:
-
writeDouble
在界面SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeBigDecimal
public void writeBigDecimal(BigDecimal x) throws SQLException
将Java编程语言中的java.math.BigDecimal
对象写入此SQLOutputImpl
对象。 在将其返回到数据库之前,驱动程序将其转换为SQLNUMERIC
。- Specified by:
-
writeBigDecimal
在界面SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeBytes
public void writeBytes(byte[] x) throws SQLException
将Java编程语言中的bytes
数组写入此SQLOutputImpl
对象。 在将其返回到数据库之前,驱动程序将其转换为SQLVARBINARY
或LONGVARBINARY
。- Specified by:
-
writeBytes
在接口SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeDate
public void writeDate(Date x) throws SQLException
将Java编程语言中的java.sql.Date
对象写入此SQLOutputImpl
对象。 在将其返回到数据库之前,驱动程序将其转换为SQLDATE
。- Specified by:
-
writeDate
在界面SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeTime
public void writeTime(Time x) throws SQLException
将Java编程语言中的java.sql.Time
对象写入此SQLOutputImpl
对象。 在将其返回到数据库之前,驱动程序将其转换为SQLTIME
。- Specified by:
-
writeTime
在界面SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeTimestamp
public void writeTimestamp(Timestamp x) throws SQLException
将Java编程语言中的java.sql.Timestamp
对象写入此SQLOutputImpl
对象。 在将其返回到数据库之前,驱动程序将其转换为SQLTIMESTAMP
。- Specified by:
-
writeTimestamp
在界面SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeCharacterStream
public void writeCharacterStream(Reader x) throws SQLException
将Unicode字符流写入此SQLOutputImpl
对象。 驱动程序将执行从Unicode到数据库CHAR
格式的任何必要转换。- Specified by:
-
writeCharacterStream
在界面SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeAsciiStream
public void writeAsciiStream(InputStream x) throws SQLException
将ASCII字符流写入此SQLOutputImpl
对象。 驱动程序将执行从ASCII到数据库CHAR
格式的任何必要转换。- Specified by:
-
writeAsciiStream
在界面SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeBinaryStream
public void writeBinaryStream(InputStream x) throws SQLException
将未解释的字节流写入此SQLOutputImpl
对象。- Specified by:
-
writeBinaryStream
在界面SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeObject
public void writeObject(SQLData x) throws SQLException
将给定的SQLData
对象中包含的数据写入流。 当SQLData
对象是null
,此方法将SQLNULL
写入流。 否则,它调用给定对象的SQLData.writeSQL
方法,该方法将对象的属性写入流。方法
SQLData.writeSQ
的实现调用适当的SQLOutputImpl.writeXXX
方法以按顺序写入每个对象的属性。 必须从SQLInput
输入流中读取属性,并按照用户定义类型的SQL定义中列出的顺序将其写入SQLOutputImpl
输出流。- Specified by:
-
writeObject
在界面SQLOutput
- 参数
-
x
- 表示SQL结构化或不同类型的数据的对象 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeRef
public void writeRef(Ref x) throws SQLException
将Java编程语言中的Ref
对象写入此SQLOutputImpl
对象。 在将其返回到数据库之前,驱动程序将其转换为可序列化的值(即SerialRef
SQLREF
。- Specified by:
-
writeRef
在接口SQLOutput
- 参数
-
x
- 表示SQLREF
值的对象 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeBlob
public void writeBlob(Blob x) throws SQLException
将Java编程语言中的Blob
对象写入此SQLOutputImpl
对象。 驱动程序将它转换成一个序列化SerialBlob
SQLBLOB
将其返回到数据库之前的值。- Specified by:
-
writeBlob
在界面SQLOutput
- 参数
-
x
- 表示SQLBLOB
值的对象 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeClob
public void writeClob(Clob x) throws SQLException
将Java编程语言中的Clob
对象写入此SQLOutputImpl
对象。 在将其返回到数据库之前,驱动程序将其转换为可序列化的SerialClob
SQLCLOB
值。- Specified by:
-
writeClob
在界面SQLOutput
- 参数
-
x
- 表示SQLCLOB
值的对象 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeStruct
public void writeStruct(Struct x) throws SQLException
将Java编程语言中的Struct
对象写入此SQLOutputImpl
对象。 在将此值返回到数据库之前,驱动程序将此值转换为SQL结构类型。当SQL结构类型已映射到Java编程语言(标准映射)中的
Struct
对象时,应使用此方法。 如果已将SQL结构化类型自定义映射到Java编程语言中的类,则应使用方法writeObject
。- Specified by:
-
writeStruct
在界面SQLOutput
- 参数
-
x
- 表示SQL结构类型的属性的对象 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeArray
public void writeArray(Array x) throws SQLException
将Java编程语言中的Array
对象写入此SQLOutputImpl
对象。 驱动程序将此值的序列化转换SerialArray
SQLARRAY
将其返回到数据库之前的值。- Specified by:
-
writeArray
在接口SQLOutput
- 参数
-
x
- 表示SQLARRAY
值的对象 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeURL
public void writeURL(URL url) throws SQLException
将Java编程语言中的java.sql.Type.DATALINK
对象写入此SQLOutputImpl
对象。 驱动程序将此值转换为串行化SerialDatalink
SQLDATALINK
前值使其返回到数据库中。- Specified by:
-
writeURL
在界面SQLOutput
- 参数
-
url
- 表示SQLDATALINK
值的对象 - 异常
-
SQLException
- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl
对象正在使用SQLData
对象。
-
writeNString
public void writeNString(String x) throws SQLException
将下一个属性作为Java编程语言中的String
写入流中。 当驱动程序将其发送到流时,驱动程序将其转换为SQLNCHAR
或NVARCHAR
或LONGNVARCHAR
值(取决于参数的大小相对于驱动程序对NVARCHAR
值的限制)。- Specified by:
-
writeNString
在接口SQLOutput
- 参数
-
x
- 要传递给数据库的值 - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.6
-
writeNClob
public void writeNClob(NClob x) throws SQLException
将SQLNCLOB
值写入流。- Specified by:
-
writeNClob
在界面SQLOutput
- 参数
-
x
- 表示SQLNCLOB
值的数据的NClob
对象 - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.6
-
writeRowId
public void writeRowId(RowId x) throws SQLException
将SQLROWID
值写入流。- Specified by:
-
writeRowId
在界面SQLOutput
- 参数
-
x
- 表示SQLROWID
值的数据的RowId
对象 - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.6
-
writeSQLXML
public void writeSQLXML(SQLXML x) throws SQLException
将SQLXML
值写入流。- Specified by:
-
writeSQLXML
接口SQLOutput
- 参数
-
x
- 表示SQLXML
值的数据的SQLXML
对象 - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.6
-
-