public class SQLOutputImpl extends Object implements SQLOutput
当应用程序调用方法PreparedStatement.setObject
时,驱动程序将检查要写入的值是否是具有自定义映射的UDT。 如果是,在类型映射中将包含一个条目,该条目包含该UDT实现SQLData
的类的类
对象。 要写入的值为SQLData
的实例,驱动程序将创建一个SQLOutputImpl
的实例, SQLOutputImpl
其传递给方法SQLData.writeSQL
。 方法writeSQL
依次调用适当的SQLOutputImpl.writeXXX
方法,将数据从SQLData
对象写入SQLOutputImpl
输出流,作为SQL用户定义类型的表示形式。
Constructor and Description |
---|
SQLOutputImpl(Vector<?> attributes, Map<String,?> map)
创建一个新的
SQLOutputImpl 对象,用给定的属性向量初始化并输入map。
|
Modifier and Type | Method and Description |
---|---|
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)
写一个
boolean 在Java编程语言中此
SQLOutputImpl 对象。
|
void |
writeByte(byte x)
写一个
byte 在Java编程语言中此
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)
写一个
double 在Java编程语言中此
SQLOutputImpl 对象。
|
void |
writeFloat(float x)
写一个
float 在Java编程语言中此
SQLOutputImpl 对象。
|
void |
writeInt(int x)
写入一个
int 在Java编程语言中此
SQLOutputImpl 对象。
|
void |
writeLong(long x)
写一个
long 在Java编程语言中此
SQLOutputImpl 对象。
|
void |
writeNClob(NClob x)
写入SQL
NCLOB 值到流。
|
void |
writeNString(String x)
接下来的属性写入流为
String 的Java编程语言。
|
void |
writeObject(SQLData x)
将数据写入给定的
SQLData 对象中包含的数据。
|
void |
writeRef(Ref x)
将Java编程语言中的
Ref 对象写入此
SQLOutputImpl 对象。
|
void |
writeRowId(RowId x)
写入SQL
ROWID 值到流。
|
void |
writeShort(short x)
写一个
short 在Java编程语言中此
SQLOutputImpl 对象。
|
void |
writeSQLXML(SQLXML x)
将SQL
XML 值写入流。
|
void |
writeString(String x)
写一个
String 在Java编程语言中此
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 对象。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
writeObject
public SQLOutputImpl(Vector<?> attributes, Map<String,?> map) throws SQLException
SQLOutputImpl
对象,用给定的属性向量初始化并输入map。
驱动程序将使用类型映射来确定要调用哪个SQLData.writeSQL
方法。
然后,该方法将按顺序调用相应的SQLOutputImpl
写入器方法,从而将属性写入新的输出流。
attributes
-一个
Vector
包含UDT的属性对象被映射到一个或多个对象中的Java编程语言
map
- 一个
java.util.Map
零个或多个条目的
java.util.Map
对象,每个条目包括1)
String
给出UDT的完全限定名称,以及2)
类
实现的
SQLData
对象,定义如何映射UDT
SQLException
- 如果
attributes
或
map
是
null
价值
public void writeString(String x) throws SQLException
String
在Java编程语言中此SQLOutputImpl
对象。
驱动程序将它转换为SQL CHAR
, VARCHAR
,或LONGVARCHAR
将其返回到数据库之前。
writeString
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在由
SQLData
将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeBoolean(boolean x) throws SQLException
boolean
在Java编程语言中此SQLOutputImpl
对象。
驱动程序将其转换为SQL BIT
然后将其返回到数据库。
writeBoolean
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在尝试将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeByte(byte x) throws SQLException
byte
在Java编程语言中此SQLOutputImpl
对象。
驱动程序将其转换为SQL BIT
然后将其返回到数据库。
writeByte
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在尝试将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeShort(short x) throws SQLException
short
在Java编程语言中此SQLOutputImpl
对象。
驱动程序将其转换为SQL SMALLINT
然后将其返回到数据库。
writeShort
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在由
SQLData
将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeInt(int x) throws SQLException
int
在Java编程语言中此SQLOutputImpl
对象。
驱动程序将其转换为SQL INTEGER
然后将其返回到数据库。
writeInt
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在由
SQLData
将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeLong(long x) throws SQLException
long
在Java编程语言中此SQLOutputImpl
对象。
驱动程序将其转换为SQL BIGINT
然后将其返回到数据库。
writeLong
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在由
SQLData
将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeFloat(float x) throws SQLException
float
在Java编程语言中此SQLOutputImpl
对象。
驱动程序将其转换为SQL REAL
然后将其返回到数据库。
writeFloat
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在由
SQLData
将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeDouble(double x) throws SQLException
double
在Java编程语言中此SQLOutputImpl
对象。
驱动程序将其转换为SQL DOUBLE
然后将其返回到数据库。
writeDouble
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在尝试将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeBigDecimal(BigDecimal x) throws SQLException
java.math.BigDecimal
对象写入此SQLOutputImpl
对象。
驱动程序将其转换为SQL NUMERIC
然后将其返回到数据库。
writeBigDecimal
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在由
SQLData
将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeBytes(byte[] x) throws SQLException
bytes
在Java编程语言中此SQLOutputImpl
对象。
驱动程序将其转换为SQL VARBINARY
或LONGVARBINARY
然后将其返回到数据库。
writeBytes
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在尝试将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeDate(Date x) throws SQLException
java.sql.Date
对象写入此SQLOutputImpl
对象。
驱动程序将其转换为SQL DATE
然后将其返回到数据库。
writeDate
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在尝试将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeTime(Time x) throws SQLException
java.sql.Time
对象写入此SQLOutputImpl
对象。
驱动程序将其转换为SQL TIME
然后将其返回到数据库。
writeTime
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在由
SQLData
将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeTimestamp(Timestamp x) throws SQLException
java.sql.Timestamp
对象写入此SQLOutputImpl
对象。
驱动程序将其转换为SQL TIMESTAMP
然后将其返回到数据库。
writeTimestamp
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在尝试将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeCharacterStream(Reader x) throws SQLException
SQLOutputImpl
对象。
驱动程序将从Unicode到数据库CHAR
格式进行任何CHAR
转换。
writeCharacterStream
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在由
SQLData
将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeAsciiStream(InputStream x) throws SQLException
SQLOutputImpl
对象。
驱动程序将从ASCII到数据库CHAR
格式进行任何CHAR
转换。
writeAsciiStream
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在尝试将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeBinaryStream(InputStream x) throws SQLException
SQLOutputImpl
对象。
writeBinaryStream
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果
SQLOutputImpl
对象正在由
SQLData
将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeObject(SQLData x) throws SQLException
SQLData
对象中的数据。
当SQLData
对象为null
时,此方法将SQL NULL
写入流。
否则,它调用给定对象的SQLData.writeSQL
方法,该方法将对象的属性写入流。
方法SQLData.writeSQ
调用适当的SQLOutputImpl.writeXXX
方法来按顺序写入每个对象的属性。 属性必须从SQLInput
输入流中读取,并以与用户定义类型的SQL定义相同的顺序写入SQLOutputImpl
输出流。
writeObject
在界面
SQLOutput
x
- 表示SQL结构化或不同类型数据的对象
SQLException
- 如果
SQLOutputImpl
对象正在尝试将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeRef(Ref x) throws SQLException
Ref
对象写入此SQLOutputImpl
对象。
驱动程序将其转换为可序列化的SerialRef
SQL REF
值,然后将其返回到数据库。
writeRef
在界面
SQLOutput
x
- 表示SQL
REF
值的对象
SQLException
- 如果
SQLOutputImpl
对象正在尝试将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeBlob(Blob x) throws SQLException
Blob
对象写入此SQLOutputImpl
对象。
驱动程序将其转换为可序列化的SerialBlob
SQL BLOB
值,然后将其返回到数据库。
writeBlob
在界面
SQLOutput
x
- 表示SQL
BLOB
值的对象
SQLException
- 如果
SQLOutputImpl
对象正在由
SQLData
将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeClob(Clob x) throws SQLException
Clob
对象写入此SQLOutputImpl
对象。
驱动程序将其转换为可序列化的SerialClob
SQL CLOB
值,然后将其返回到数据库。
writeClob
在界面
SQLOutput
x
- 表示SQL
CLOB
值的对象
SQLException
- 如果
SQLOutputImpl
对象正在由
SQLData
将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeStruct(Struct x) throws SQLException
Struct
对象写入此SQLOutputImpl
对象。
驱动程序将此值转换为SQL结构类型,然后将其返回到数据库。
当SQL结构类型已被映射到Java编程语言(标准映射)中的Struct
对象时,应使用此方法。 如果SQL结构化类型已经被自定义映射到Java编程语言中的类,则应使用方法writeObject
。
writeStruct
在界面
SQLOutput
x
- 表示SQL结构化类型属性的对象
SQLException
- 如果
SQLOutputImpl
对象正在由
SQLData
将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeArray(Array x) throws SQLException
Array
对象写入此SQLOutputImpl
对象。
驱动程序将此值转换为可序列化的SerialArray
SQL ARRAY
值,然后将其返回到数据库。
writeArray
在界面
SQLOutput
x
- 表示SQL
ARRAY
值的对象
SQLException
- 如果
SQLOutputImpl
对象正在尝试将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeURL(URL url) throws SQLException
java.sql.Type.DATALINK
对象写入此SQLOutputImpl
对象。
驱动程序将此值转换为可序列化的SerialDatalink
SQL DATALINK
值,然后将其返回到数据库。
writeURL
在界面
SQLOutput
url
- 表示SQL
DATALINK
值的对象
SQLException
- 如果
SQLOutputImpl
对象正在尝试将UDT的属性值写入数据库的
SQLData
对象使用。
public void writeNString(String x) throws SQLException
String
的Java编程语言。
驱动程序将其转换为SQL NCHAR
或NVARCHAR
或LONGNVARCHAR
值(取决于相对于NVARCHAR
值的驱动程序限制的参数大小)将其发送到流时。
writeNString
在界面
SQLOutput
x
- 传递给数据库的值
SQLException
- 如果发生数据库访问错误
public void writeNClob(NClob x) throws SQLException
NCLOB
值写入流。
writeNClob
在界面
SQLOutput
x
- 表示SQL
NCLOB
值的数据的
NClob
对象
SQLException
- 如果发生数据库访问错误
public void writeRowId(RowId x) throws SQLException
ROWID
值写入流。
writeRowId
在界面
SQLOutput
x
- 表示SQL
ROWID
值的数据的
RowId
对象
SQLException
- 如果发生数据库访问错误
public void writeSQLXML(SQLXML x) throws SQLException
XML
值写入流。
writeSQLXML
在界面
SQLOutput
x
- 表示SQL
XML
值的数据的
SQLXML
对象
SQLException
- 如果发生数据库访问错误