- java.lang.Object
-
- javax.sql.rowset.serial.SQLOutputImpl
-
- All Implemented Interfaces:
-
SQLOutput
public class SQLOutputImpl extends Object implements SQLOutput
用于将自定义映射的用户定义类型(UDT)的属性写入数据库的输出流。 驱动程序在内部使用此接口,并且其方法从不由应用程序员直接调用。当应用程序调用方法
PreparedStatement.setObject
,驱动程序将检查要写入的值是否是具有自定义映射的UDT。 如果是,则类型映射中将包含一个条目,该条目包含为此UDT实现SQLData
的类的Class
对象。 要写入的值为SQLData
的实例,驱动程序将创建一个SQLOutputImpl
的实例,并传递给方法SQLData.writeSQL
。 方法writeSQL
依次调用适当的SQLOutputImpl.writeXXX
方法将数据从SQLData
对象写入SQLOutputImpl
输出流作为SQL用户定义类型的表示。- 从以下版本开始:
- 1.5
-
-
构造方法摘要
构造方法 Constructor 描述 SQLOutputImpl(Vector<?> attributes, Map<String,?> map)
创建一个新的SQLOutputImpl
对象,使用给定的属性向量进行初始化,并输入map。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 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)
将bytes
的Java编程语言的数组写入此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
对象。-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.sql.SQLOutput
writeObject
-
-
-
-
构造方法详细信息
-
SQLOutputImpl
public SQLOutputImpl(Vector<?> attributes, Map<String,?> map) throws SQLException
创建一个新的SQLOutputImpl
对象,使用给定的属性向量初始化并输入map。 驱动程序将使用类型映射来确定要调用哪个SQLData.writeSQL
方法。 然后,该方法将按顺序调用相应的SQLOutputImpl
写入器方法,从而将属性写入新的输出流。- 参数
-
attributes
- 包含要映射到Java编程语言中的一个或多个对象的UDT的属性的Vector
对象 -
map
- 一个包含零个或多个条目的java.util.Map
对象,每个条目由1)String
给出UDT的完全限定名称,以及2)Class
对象,用于定义如何映射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
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeBoolean
public void writeBoolean(boolean x) throws SQLException
将Java编程语言中的boolean
写入此SQLOutputImpl
对象。 驱动程序将其转换为SQLBIT
然后将其返回到数据库。- Specified by:
-
writeBoolean
在接口SQLOutput
- 参数
-
x
- 传递给数据库的值 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeByte
public void writeByte(byte x) throws SQLException
将Java编程语言中的byte
写入此SQLOutputImpl
对象。 驱动程序将其转换为SQLBIT
然后将其返回到数据库。- Specified by:
-
writeByte
在接口SQLOutput
- 参数
-
x
- 传递给数据库的值 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeShort
public void writeShort(short x) throws SQLException
将Java编程语言中的short
写入此SQLOutputImpl
对象。 驱动程序将其转换为SQLSMALLINT
然后将其返回到数据库。- Specified by:
-
writeShort
在接口SQLOutput
- 参数
-
x
- 传递给数据库的值 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeInt
public void writeInt(int x) throws SQLException
将Java编程语言中的int
写入此SQLOutputImpl
对象。 驱动程序将其转换为SQLINTEGER
然后将其返回到数据库。- Specified by:
-
writeInt
在接口SQLOutput
- 参数
-
x
- 传递给数据库的值 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeLong
public void writeLong(long x) throws SQLException
将Java编程语言中的long
写入此SQLOutputImpl
对象。 驱动程序将其转换为SQLBIGINT
然后将其返回到数据库。- Specified by:
-
writeLong
在接口SQLOutput
- 参数
-
x
- 传递给数据库的值 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeFloat
public void writeFloat(float x) throws SQLException
将Java编程语言中的float
写入此SQLOutputImpl
对象。 驱动程序将其转换为SQLREAL
然后将其返回到数据库。- Specified by:
-
writeFloat
在接口SQLOutput
- 参数
-
x
- 传递给数据库的值 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeDouble
public void writeDouble(double x) throws SQLException
将Java编程语言中的double
写入此SQLOutputImpl
对象。 驱动程序将其转换为SQLDOUBLE
然后将其返回到数据库。- Specified by:
-
writeDouble
在接口SQLOutput
- 参数
-
x
- 传递给数据库的值 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeBigDecimal
public void writeBigDecimal(BigDecimal x) throws SQLException
将Java编程语言中的一个java.math.BigDecimal
对象写入此SQLOutputImpl
对象。 驱动程序将其转换为SQLNUMERIC
然后将其返回到数据库。- Specified by:
-
writeBigDecimal
在接口SQLOutput
- 参数
-
x
- 传递给数据库的值 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeBytes
public void writeBytes(byte[] x) throws SQLException
将bytes
的Java编程语言的数组写入此SQLOutputImpl
对象。 驱动程序将其转换为SQLVARBINARY
或LONGVARBINARY
然后将其返回到数据库。- Specified by:
-
writeBytes
在接口SQLOutput
- 参数
-
x
- 传递给数据库的值 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeDate
public void writeDate(Date x) throws SQLException
将Java编程语言中的一个java.sql.Date
对象写入此SQLOutputImpl
对象。 驱动程序将其转换为SQLDATE
然后将其返回到数据库。- Specified by:
-
writeDate
在接口SQLOutput
- 参数
-
x
- 传递给数据库的值 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeTime
public void writeTime(Time x) throws SQLException
将Java编程语言中的一个java.sql.Time
对象写入此SQLOutputImpl
对象。 驱动程序将其转换为SQLTIME
然后将其返回到数据库。- Specified by:
-
writeTime
在接口SQLOutput
- 参数
-
x
- 传递给数据库的值 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeTimestamp
public void writeTimestamp(Timestamp x) throws SQLException
将Java编程语言中的一个java.sql.Timestamp
对象写入此SQLOutputImpl
对象。 驱动程序将其转换为SQLTIMESTAMP
然后将其返回到数据库。- Specified by:
-
writeTimestamp
在接口SQLOutput
- 参数
-
x
- 传递给数据库的值 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeCharacterStream
public void writeCharacterStream(Reader x) throws SQLException
将Unicode字符串写入此SQLOutputImpl
对象。 驱动程序将从Unicode到数据库CHAR
格式进行任何必要的转换。- Specified by:
-
writeCharacterStream
在接口SQLOutput
- 参数
-
x
- 传递给数据库的值 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeAsciiStream
public void writeAsciiStream(InputStream x) throws SQLException
向这个SQLOutputImpl
对象写入一串ASCII字符。 驱动程序将从ASCII到数据库CHAR
格式进行任何必要的转换。- Specified by:
-
writeAsciiStream
在接口SQLOutput
- 参数
-
x
- 传递给数据库的值 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeBinaryStream
public void writeBinaryStream(InputStream x) throws SQLException
将一串未解释的字节写入此SQLOutputImpl
对象。- Specified by:
-
writeBinaryStream
在接口SQLOutput
- 参数
-
x
- 传递给数据库的值 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
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
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeRef
public void writeRef(Ref x) throws SQLException
将Java编程语言中的一个Ref
对象写入此SQLOutputImpl
对象。 驱动程序将其转换为可序列化的SerialRef
SQLREF
值,然后将其返回到数据库。- Specified by:
-
writeRef
在接口SQLOutput
- 参数
-
x
- 表示SQLREF
值的对象 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeBlob
public void writeBlob(Blob x) throws SQLException
将Java编程语言中的一个Blob
对象写入此SQLOutputImpl
对象。 驱动程序将其转换为可序列化的SerialBlob
SQLBLOB
值,然后将其返回到数据库。- Specified by:
-
writeBlob
在接口SQLOutput
- 参数
-
x
- 表示SQLBLOB
值的对象 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeClob
public void writeClob(Clob x) throws SQLException
将Java编程语言中的一个Clob
对象写入此SQLOutputImpl
对象。 驱动程序将其转换为可序列化的SerialClob
SQLCLOB
值,然后将其返回到数据库。- Specified by:
-
writeClob
在接口SQLOutput
- 参数
-
x
- 表示SQLCLOB
值的对象 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
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
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeArray
public void writeArray(Array x) throws SQLException
将Java编程语言中的一个Array
对象写入此SQLOutputImpl
对象。 驱动程序将此值的序列化转换SerialArray
SQLARRAY
将其返回到数据库之前的值。- Specified by:
-
writeArray
在接口SQLOutput
- 参数
-
x
- 表示SQLARRAY
值的对象 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
writeURL
public void writeURL(URL url) throws SQLException
将Java编程语言中的一个java.sql.Type.DATALINK
对象写入此SQLOutputImpl
对象。 司机该值转换为可序列SerialDatalink
SQLDATALINK
值之前返回到数据库。- Specified by:
-
writeURL
在接口SQLOutput
- 参数
-
url
- 表示SQLDATALINK
值的对象 - 异常
-
SQLException
-如果SQLOutputImpl
对象正在使用由SQLData
对象尝试将UDT的属性值写入数据库。
-
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
-
-