public interface SQLData
SQLData
インタフェースを実装するクラスのクラス・オブジェクトは、カスタム・マッピングされるUDTのSQL名とともに適切なConnection
オブジェクトの型マップに入力されます。
通常SQLData
実装は、SQL構造化型の各属性のフィールド、またはSQL DISTINCT
型の単一フィールドを定義します。ResultSet.getObject
メソッドによってデータ・ソースからUDTが取得されると、そのUDTはこのクラスのインスタンスとしてマッピングされます。プログラマは、Javaプログラミング言語のほかのオブジェクトの場合と同じようにこのクラス・インスタンスで操作し、PreparedStatement.setObject
メソッドを呼び出して、行った変更をこのクラス・インスタンスに保存することができます。このメソッドは、このクラス・インスタンスをSQL型にマッピングし直します。
カスタム・マッピングのクラスの実装をツールによって行うことが期待できます。通常の実装では、プログラマは単にSQL UDTの名前、その名前がマッピングされるクラスの名前、およびUDTの各属性がマッピングされるフィールドの名前を指定するだけです。ツールはこの情報を使ってSQLData.readSQL
メソッドおよびSQLData.writeSQL
メソッドを実装します。readSQL
メソッドが該当のSQLInput
メソッドを呼び出してSQLInput
オブジェクトから各属性を読み込み、writeSQL
メソッドがSQLOutput
メソッドを呼び出してSQLOutput
オブジェクトを使って各属性をデータ・ソースに書き込みます。
通常アプリケーション・プログラマがSQLData
メソッドを直接呼び出すことはなく、SQLInput
メソッドおよびSQLOutput
メソッドは、アプリケーション・コードによってではなくSQLData
メソッドによって内部的に呼び出されます。
修飾子と型 | メソッドと説明 |
---|---|
String |
getSQLTypeName()
このオブジェクトが表すSQLユーザー定義型の完全指定名を返します。
|
void |
readSQL(SQLInput stream, String typeName)
データベースから読み出したデータをこのオブジェクトに設定します。
|
void |
writeSQL(SQLOutput stream)
このオブジェクトをデータ・ソースのSQL値に変換し、指定されたSQLデータ・ストリームに書き込みます。
|
String getSQLTypeName() throws SQLException
SQLData
のこのインスタンスにマッピングされるUDTインスタンスの名前を取得するためにJDBCドライバによって呼び出されます。readSQL
メソッドに渡された型名SQLException
- データベース・アクセス・エラーがある場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合void readSQL(SQLInput stream, String typeName) throws SQLException
readSQL
メソッドが、このオブジェクトまたはほかのオブジェクトの適切なフィールドまたは要素にデータを割り当てます。具体的には、該当するreaderメソッド(SQLInput.readString
、SQLInput.readBigDecimal
など)を呼び出して次の処理を行う必要があります。個別の型の場合はその単一のデータ要素を読み込み、構造化型の場合はSQL型の各属性の値を読み込みます。
SQLInput
readerメソッドによって使用されるこのメソッドを呼び出します。stream
- カスタム・マッピングされる値のデータを読み込むSQLInput
オブジェクトtypeName
- データ・ストリームの値のSQL型名SQLException
- データベース・アクセス・エラーがある場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合SQLInput
void writeSQL(SQLOutput stream) throws SQLException
SQLOutput
writerメソッド(writeInt
、writeString
など)を呼び出して次の処理を行う必要があります。個別の型の場合は単一のデータ要素を書き込み、構造化型の場合はSQL型の各属性の値を書き込みます。stream
- カスタム・マッピングされた値のデータを書き込むSQLOutput
オブジェクトSQLException
- データベース・アクセス・エラーがある場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合SQLOutput
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.