JavaTM 2
Platform
Std. Ed. v1.4.0

java.sql
インタフェース SQLData


public interface SQLData

SQL ユーザ定義型 (UDT) を Java プログラミング言語のクラスにカスタムマッピングするのに使用されるインタフェースです。SQLData インタフェースを実装するクラスのクラスオブジェクトは、カスタムマッピングされる UDT の SQL 名とともに適切な Connection オブジェクトの型マップに入力されます。

通常 SQLData 実装は、SQL 構造化型の各属性のフィールド、または SQL DISTINCT 型の単一フィールドを定義します。ResultSet.getObject メソッドによってデータソースから UDT が取得されると、その UDT はこのクラスのインスタンスとしてマッピングされます。プログラマは、Java プログラミング言語の他のオブジェクトの場合と同じようにこのクラスインスタンスで操作し、PreparedStatement.setObject メソッドを呼び出して、行った変更をこのクラスインスタンスに保存することができます。PreparedStatement.setObject メソッドは逆にそのクラスインスタンスを SQL 型にマッピングします。

カスタムマッピングのクラスの実装をツールによって行うことが期待できます。通常の実装では、プログラマは単に SQL UDT の名前、その名前がマッピングされるクラスの名前、および UDT の各属性がマッピングされるフィールドの名前を指定するだけです。ツールはこの情報を使って SQLData.readSQL メソッドおよび SQLData.writeSQL メソッドを実装します。readSQL メソッドが該当の SQLInput メソッドを呼び出して SQLInput オブジェクトから各属性を読み込み、writeSQL メソッドが SQLOutput メソッドを呼び出して SQLOutput オブジェクトを使って各属性をデータソースに書き込みます。

通常アプリケーションプログラマが SQLData を直接呼び出すことはなく、SQLInput メソッドおよび SQLOutput メソッドは、アプリケーションコードによってではなく SQLData メソッドによって内部で呼び出されます。

導入されたバージョン:
1.2

メソッドの概要
 String getSQLTypeName()
          このオブジェクトが表す SQL ユーザ定義型の完全指定名を返します。
 void readSQL(SQLInput stream, String typeName)
          データベースから読み出したデータをこのオブジェクトに設定します。
 void writeSQL(SQLOutput stream)
          指定された SQL データストリームにこのオブジェクトを書き込み、逆にそれをデータソースの SQL 値に変換します。
 

メソッドの詳細

getSQLTypeName

public String getSQLTypeName()
                      throws SQLException
このオブジェクトが表す SQL ユーザ定義型の完全指定名を返します。このメソッドは、SQLData のこのインスタンスにマッピングされる UDT インスタンスの名前を取得するために JDBC ドライバによって呼び出されます。

戻り値:
このオブジェクトが生成され、値が設定されたときに readSql メソッドに渡された型名
例外:
SQLException - データベースアクセスエラーがある場合
導入されたバージョン:
1.2

readSQL

public void readSQL(SQLInput stream,
                    String typeName)
             throws SQLException
データベースから読み出したデータをこのオブジェクトに設定します。このメソッドの実装は次のプロトコルに従う必要があります。 JDBC ドライバは、型マップを使って入力ストリームを初期化してから、ストリームで対応する SQLInput reader メソッドによって使用されるこのメソッドを呼び出します。

パラメータ:
stream - カスタムマッピングされるデータの値を読み出す SQLInput オブジェクト
typeName - データストリームの値の SQL 型名
例外:
SQLException - データベースアクセスエラーがある場合
関連項目:
SQLInput

writeSQL

public void writeSQL(SQLOutput stream)
              throws SQLException
指定された SQL データストリームにこのオブジェクトを書き込み、逆にそれをデータソースの SQL 値に変換します。このメソッドの実装は次のプロトコルに従う必要があります。
指定された出力ストリームに SQL 型の各属性を書き込む必要があります。これは、型の SQL 定義に表示される順番で出力ストリームのメソッドを呼び出して各項目を書き込むことによって行われます。具体的には、該当する SQLOutput writer メソッド (writeIntwriteString など) を呼び出して次の処理を行う必要があります。個別の型の場合は単一のデータ要素を書き込み、構造化型の場合は SQL 型の各属性の値を書き込みます。

パラメータ:
stream - カスタムマッピングされたデータの値を書き込む SQLOutput オブジェクト
例外:
SQLException - データベースアクセスエラーがある場合
導入されたバージョン:
1.2
関連項目:
SQLOutput

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.