JavaTM 2 Platform
Standard Ed. 5.0

java.sql
接口 SQLData


public interface SQLData

该接口用于 SQL 用户定义类型 (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 方法而不是应用程序代码在内部调用。

从以下版本开始:
1.2

方法摘要
 String getSQLTypeName()
          返回此对象表示的 SQL 用户定义类型的完全限定名称。
 void readSQL(SQLInput stream, String typeName)
          用从数据库读取的数据填充此对象。
 void writeSQL(SQLOutput stream)
          将此对象写入给定的 SQL 数据流,同时将其转换回数据源中它的 SQL 值。
 

方法详细信息

getSQLTypeName

String getSQLTypeName()
                      throws SQLException
返回此对象表示的 SQL 用户定义类型的完全限定名称。JDBC 驱动程序调用此方法来获取 UDT 实例的名称,该名称将被映射到 SQLData 的这一实例。

返回:
构造和填充此对象时传递到方法 readSql 的类型名称
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

readSQL

void readSQL(SQLInput stream,
             String typeName)
             throws SQLException
用从数据库读取的数据填充此对象。该方法的实现必须遵守此协议: JDBC 驱动程序在调用此方法之前用类型映射初始化输入流,此方法由流上适当地 SQLInput reader 方法使用。

参数:
stream - SQLInput 对象,从中读取要自定义映射的值的数据
typeName - 数据流上的值的 SQL 类型名称
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
SQLInput

writeSQL

void writeSQL(SQLOutput stream)
              throws SQLException
将此对象写入给定的 SQL 数据流,同时将其转换回数据源中它的 SQL 值。方法的实现必须遵守此协议:
必须将 SQL 类型的每个属性写入给定的输出流。此操作通过调用输出流的某个方法写入每个项(按照它们在类型的 SQL 定义中显示的顺序)。明确地说,它必须调用适当的 SQLOutput writer 方法(writeIntwriteString 等)来执行以下操作:对于不同类型,写入其单个数据元素;对于结构类型,写入 SQL 类型的每个属性的值。

参数:
stream - SQLOutput 对象,要在其中写入自定义映射的值的数据
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2
另请参见:
SQLOutput

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策