- 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对象。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 voidwriteArray(Array x)将Java编程语言中的Array对象写入此SQLOutputImpl对象。voidwriteAsciiStream(InputStream x)将ASCII字符流写入此SQLOutputImpl对象。voidwriteBigDecimal(BigDecimal x)将Java编程语言中的java.math.BigDecimal对象写入此SQLOutputImpl对象。voidwriteBinaryStream(InputStream x)将未解释的字节流写入此SQLOutputImpl对象。voidwriteBlob(Blob x)将Java编程语言中的Blob对象写入此SQLOutputImpl对象。voidwriteBoolean(boolean x)将Java编程语言中的boolean写入此SQLOutputImpl对象。voidwriteByte(byte x)将Java编程语言中的byte写入此SQLOutputImpl对象。voidwriteBytes(byte[] x)将Java编程语言中的bytes数组写入此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对象。-
声明方法的类 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对象。 在将其返回到数据库之前,驱动程序将其转换为可序列化的值(即SerialRefSQLREF。- Specified by:
-
writeRef在接口SQLOutput - 参数
-
x- 表示SQLREF值的对象 - 异常
-
SQLException- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl对象正在使用SQLData对象。
-
writeBlob
public void writeBlob(Blob x) throws SQLException
将Java编程语言中的Blob对象写入此SQLOutputImpl对象。 驱动程序将它转换成一个序列化SerialBlobSQLBLOB将其返回到数据库之前的值。- Specified by:
-
writeBlob在界面SQLOutput - 参数
-
x- 表示SQLBLOB值的对象 - 异常
-
SQLException- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl对象正在使用SQLData对象。
-
writeClob
public void writeClob(Clob x) throws SQLException
将Java编程语言中的Clob对象写入此SQLOutputImpl对象。 在将其返回到数据库之前,驱动程序将其转换为可序列化的SerialClobSQLCLOB值。- 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对象。 驱动程序将此值的序列化转换SerialArraySQLARRAY将其返回到数据库之前的值。- Specified by:
-
writeArray在接口SQLOutput - 参数
-
x- 表示SQLARRAY值的对象 - 异常
-
SQLException- 如果尝试将UDT的属性值写入数据库的SQLOutputImpl对象正在使用SQLData对象。
-
writeURL
public void writeURL(URL url) throws SQLException
将Java编程语言中的java.sql.Type.DATALINK对象写入此SQLOutputImpl对象。 驱动程序将此值转换为串行化SerialDatalinkSQLDATALINK前值使其返回到数据库中。- 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
-
-