| 
JavaTM 2 Platform Std. Ed. v1.4.0  | 
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
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 メソッドによって内部で呼び出されます。
| メソッドの概要 | |
 String | 
getSQLTypeName()
このオブジェクトが表す SQL ユーザ定義型の完全指定名を返します。  | 
 void | 
readSQL(SQLInput stream,
        String typeName)
データベースから読み出したデータをこのオブジェクトに設定します。  | 
 void | 
writeSQL(SQLOutput stream)
指定された SQL データストリームにこのオブジェクトを書き込み、逆にそれをデータソースの SQL 値に変換します。  | 
| メソッドの詳細 | 
public String getSQLTypeName()
                      throws SQLException
SQLData のこのインスタンスにマッピングされる UDT インスタンスの名前を取得するために JDBC ドライバによって呼び出されます。
readSql メソッドに渡された型名
SQLException - データベースアクセスエラーがある場合
public void readSQL(SQLInput stream,
                    String typeName)
             throws SQLException
readSQL が、このオブジェクトまたは他のオブジェクトの適切なフィールドまたは要素にデータを割り当てます。具体的には、該当する reader メソッド (SQLInput.readString、SQLInput.readBigDecimal など) を呼び出して次の処理を行う必要があります。個別の型の場合はその単一のデータ要素を読み込み、構造化型の場合は SQL 型の各属性の値を読み込みます。
SQLInput reader メソッドによって使用されるこのメソッドを呼び出します。
stream - カスタムマッピングされるデータの値を読み出す SQLInput オブジェクトtypeName - データストリームの値の SQL 型名
SQLException - データベースアクセスエラーがある場合SQLInput
public void writeSQL(SQLOutput stream)
              throws SQLException
SQLOutput writer メソッド (writeInt、writeString など) を呼び出して次の処理を行う必要があります。個別の型の場合は単一のデータ要素を書き込み、構造化型の場合は SQL 型の各属性の値を書き込みます。
stream - カスタムマッピングされたデータの値を書き込む SQLOutput オブジェクト
SQLException - データベースアクセスエラーがある場合SQLOutput
  | 
JavaTM 2 Platform Std. Ed. v1.4.0  | 
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
 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.