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ドライバがこのメソッドをサポートしない場合SQLInputvoid writeSQL(SQLOutput stream) throws SQLException
SQLOutput writerメソッド(writeInt、writeStringなど)を呼び出して次の処理を行う必要があります。個別の型の場合は単一のデータ要素を書き込み、構造化型の場合はSQL型の各属性の値を書き込みます。 stream - カスタム・マッピングされた値のデータを書き込むSQLOutputオブジェクトSQLException - データベース・アクセス・エラーがある場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合SQLOutput バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。