Most visited

Recently visited

Added in API level 1

SQLData

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.readSQLSQLData.writeSQL方法。 readSQL方法调用相应的SQLInput方法来读取SQLInput对象中的每个属性,并且writeSQL方法调用SQLOutput方法通过SQLOutput对象将每个属性写回数据源。

应用程序员通常不直接调用 SQLData方法,而 SQLInputSQLOutput方法由 SQLData方法内部调用,而不是由应用程序代码调用。

Summary

Public methods

abstract String getSQLTypeName()

返回此对象表示的SQL用户定义类型的完全限定名称。

abstract void readSQL(SQLInput stream, String typeName)

使用从数据库读取的数据填充此对象。

abstract void writeSQL(SQLOutput stream)

将此对象写入给定的SQL数据流,将其转换回数据源中的SQL值。

Public methods

getSQLTypeName

Added in API level 1
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

readSQL

Added in API level 1
void readSQL (SQLInput stream, 
                String typeName)

使用从数据库读取的数据填充此对象。 该方法的实施必须遵循以下协议:

  • It must read each of the attributes or elements of the SQL type from the given input stream. This is done by calling a method of the input stream to read each item, in the order that they appear in the SQL definition of the type.
  • The method 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.
The JDBC driver initializes the input stream with a type map before calling this method, which is used by the appropriate 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

也可以看看:

writeSQL

Added in API level 1
void writeSQL (SQLOutput stream)

将此对象写入给定的SQL数据流,将其转换回数据源中的SQL值。 该方法的实施必须遵循以下协议:
它必须将SQL类型的每个属性写入给定的输出流。 这是通过调用输出流的方法来写入每个项目,按照它们出现在类型的SQL定义中的顺序完成的。 具体而言,它必须调用适当SQLOutput作家方法(一个或多个)( writeIntwriteString ,等等),以执行以下操作:对的独特的类型,写入其单个数据元素; 对于结构化类型,为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

也可以看看:

Hooray!