public interface SQLData
java.sql.SQLData |
用于将Java用户定义类型(UDT)自定义映射到Java编程语言中的类的接口。 实现SQLData
接口的类的类对象将与适当的Connection
对象的类型映射一起被输入到它为自定义映射的UDT的SQL名称中。
通常, SQLData
实现将为SQL结构类型的每个属性或SQL DISTINCT
类型的单个字段定义一个字段。 当使用ResultSet.getObject
方法从数据源中检索UDT时,它将被映射为此类的一个实例。 程序员可以像在Java编程语言中的任何其他对象上一样操作此类实例,然后通过调用PreparedStatement.setObject
方法来存储对其所做的任何更改,该方法将将其映射回SQL类型。
预计用于自定义映射的类的实现将通过工具完成。 在典型的实现中,程序员只需提供SQL UDT的名称,它所映射到的类的名称以及UDT的每个属性要映射到的字段的名称。 该工具将使用此信息来实现SQLData.readSQL
和SQLData.writeSQL
方法。 readSQL
方法调用相应的SQLInput
方法来读取SQLInput
对象中的每个属性,并且writeSQL
方法调用SQLOutput
方法通过SQLOutput
对象将每个属性写回数据源。
应用程序员通常不直接调用 SQLData
方法,而 SQLInput
和 SQLOutput
方法由 SQLData
方法内部调用,而不是由应用程序代码调用。
Public methods |
|
---|---|
abstract String |
getSQLTypeName() 返回此对象表示的SQL用户定义类型的完全限定名称。 |
abstract void |
readSQL(SQLInput stream, String typeName) 使用从数据库读取的数据填充此对象。 |
abstract void |
writeSQL(SQLOutput stream) 将此对象写入给定的SQL数据流,将其转换回数据源中的SQL值。 |
String getSQLTypeName ()
返回此对象表示的SQL用户定义类型的完全限定名称。 JDBC驱动程序调用此方法以获取映射到此实例SQLData
的UDT实例的名称。
Returns | |
---|---|
String |
the type name that was passed to the method readSQL when this object was constructed and populated |
Throws | |
---|---|
SQLException |
if there is a database access error |
SQLFeatureNotSupportedException |
if the JDBC driver does not support this method |
void readSQL (SQLInput stream, String typeName)
使用从数据库读取的数据填充此对象。 该方法的实施必须遵循以下协议:
readSQL
then assigns the data to appropriate fields or elements (of this or other objects). Specifically, it must call the appropriate reader method (SQLInput.readString
, SQLInput.readBigDecimal
, and so on) method(s) to do the following: for a distinct type, read its single data element; for a structured type, read a value for each attribute of the SQL type. SQLInput
reader method on the stream.
Parameters | |
---|---|
stream |
SQLInput : the SQLInput object from which to read the data for the value that is being custom mapped |
typeName |
String : the SQL type name of the value on the data stream |
Throws | |
---|---|
SQLException |
if there is a database access error |
SQLFeatureNotSupportedException |
if the JDBC driver does not support this method |
也可以看看:
void writeSQL (SQLOutput stream)
将此对象写入给定的SQL数据流,将其转换回数据源中的SQL值。 该方法的实施必须遵循以下协议:
它必须将SQL类型的每个属性写入给定的输出流。 这是通过调用输出流的方法来写入每个项目,按照它们出现在类型的SQL定义中的顺序完成的。 具体而言,它必须调用适当SQLOutput
作家方法(一个或多个)( writeInt
, writeString
,等等),以执行以下操作:对的独特的类型,写入其单个数据元素; 对于结构化类型,为SQL类型的每个属性编写一个值。
Parameters | |
---|---|
stream |
SQLOutput : the SQLOutput object to which to write the data for the value that was custom mapped |
Throws | |
---|---|
SQLException |
if there is a database access error |
SQLFeatureNotSupportedException |
if the JDBC driver does not support this method |
也可以看看: