- 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 方法 描述 voidwriteArray(Array x)将Java编程语言中的一个Array对象写入此SQLOutputImpl对象。voidwriteAsciiStream(InputStream x)将ASCII码字符串写入此SQLOutputImpl对象。voidwriteBigDecimal(BigDecimal x)将Java编程语言中的一个java.math.BigDecimal对象写入此SQLOutputImpl对象。voidwriteBinaryStream(InputStream x)新新新新新新SQLOutputImplvoidwriteBlob(Blob x)将Java编程语言中的Blob对象写入此SQLOutputImpl对象。voidwriteBoolean(boolean x)将Java编程语言中的一个boolean写入该SQLOutputImpl对象。voidwriteByte(byte x)将Java编程语言中的byte写入此SQLOutputImpl对象。voidwriteBytes(byte[] x)将bytes的Java编程语言的数组写入此SQLOutputImpl对象。voidwriteCharacterStream(Reader x)将Unicode字符串写入此SQLOutputImpl对象。voidwriteClob(Clob x)将Java编程语言中的一个Clob对象写入此SQLOutputImpl对象。voidwriteDate(Date x)将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值写入流。voidwriteNString(String x)将下一个属性作为Java编程语言中的String写入流。voidwriteObject(SQLData x)向流中写入包含在给定的SQLData对象中的数据。voidwriteRef(Ref x)将Java编程语言中的一个Ref对象写入此SQLOutputImpl对象。voidwriteRowId(RowId x)将SQLROWID值写入流。voidwriteShort(short x)将Java编程语言中的short写入此SQLOutputImpl对象。voidwriteSQLXML(SQLXML x)写入一个SQLXML值到流。voidwriteString(String x)将Java编程语言中的String写入此SQLOutputImpl对象。voidwriteStruct(Struct x)将Java编程语言中的一个Struct对象写入此SQLOutputImpl对象。voidwriteTime(Time x)将Java编程语言中的一个java.sql.Time对象写入此SQLOutputImpl对象。voidwriteTimestamp(Timestamp x)将Java编程语言中的一个java.sql.Timestamp对象写入此SQLOutputImpl对象。voidwriteURL(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对象。 驱动程序将其转换为可序列化的SerialRefSQLREF值,然后将其返回到数据库。- Specified by:
-
writeRef在接口SQLOutput - 参数
-
x- 表示SQLREF值的对象 - 异常
-
SQLException-如果SQLOutputImpl对象正在使用由SQLData对象尝试将UDT的属性值写入数据库。
-
writeBlob
public void writeBlob(Blob x) throws SQLException
将Java编程语言中的一个Blob对象写入此SQLOutputImpl对象。 驱动程序将其转换为可序列化的SerialBlobSQLBLOB值,然后将其返回到数据库。- Specified by:
-
writeBlob在接口SQLOutput - 参数
-
x- 表示SQLBLOB值的对象 - 异常
-
SQLException-如果SQLOutputImpl对象正在使用由SQLData对象尝试将UDT的属性值写入数据库。
-
writeClob
public void writeClob(Clob x) throws SQLException
将Java编程语言中的一个Clob对象写入此SQLOutputImpl对象。 驱动程序将其转换为可序列化的SerialClobSQLCLOB值,然后将其返回到数据库。- 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对象。 驱动程序将此值的序列化转换SerialArraySQLARRAY将其返回到数据库之前的值。- Specified by:
-
writeArray在接口SQLOutput - 参数
-
x- 表示SQLARRAY值的对象 - 异常
-
SQLException-如果SQLOutputImpl对象正在使用由SQLData对象尝试将UDT的属性值写入数据库。
-
writeURL
public void writeURL(URL url) throws SQLException
将Java编程语言中的一个java.sql.Type.DATALINK对象写入此SQLOutputImpl对象。 司机该值转换为可序列SerialDatalinkSQLDATALINK值之前返回到数据库。- 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
-
-