|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface SQLData
SQL ユーザー定義型 (UDT) を Java プログラミング言語のクラスにカスタムマッピングするのに使用されるインタフェースです。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
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。