public interface SQLData
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
方法调用,而不是应用程序代码。
String getSQLTypeName() throws SQLException
SQLData
的UDT实例的名称。
readSQL
的类型名称
SQLException
- 如果有数据库访问错误
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法
void readSQL(SQLInput stream, String typeName) throws SQLException
readSQL
然后将数据分配给相应的字段或这个或其他对象的元素。 具体而言,它必须调用相应的读取器方法( SQLInput.readString
, SQLInput.readBigDecimal
,等等)方法(S)执行以下操作:针对不同类型,读取其单个数据元素; 对于结构化类型,读取SQL类型的每个属性的值。 SQLInput
读取器方法使用。
stream
-
SQLInput
读取正在自定义映射的值的数据的
SQLInput
对象
typeName
- 数据流上的值的SQL类型名称
SQLException
- 如果有数据库访问错误
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法
SQLInput
void writeSQL(SQLOutput stream) throws SQLException
SQLOutput
作家方法(一个或多个)( writeInt
, writeString
,等等),以执行以下操作:对的独特的类型,写入其单个数据元素;
对于结构类型,为SQL类型的每个属性写入一个值。
stream
- 要为自定义映射的值写入数据的
SQLOutput
对象
SQLException
- 如果存在数据库访问错误
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法
SQLOutput