クラス | 説明 |
---|---|
SerialArray |
Array オブジェクトの直列化バージョンであり、Javaプログラミング言語でのSQL ARRAY 値のマッピングです。 |
SerialBlob |
Javaプログラミング言語でのSQL
BLOB 値の直列化マッピングです。 |
SerialClob |
Javaプログラミング言語でのSQL
CLOB 値の直列化マッピングです。 |
SerialDatalink |
Javaプログラミング言語でのSQL
DATALINK 値の直列化マッピングです。 |
SerialJavaObject |
Javaプログラミング言語でのSQL
JAVA_OBJECT 値の直列化可能なマッピングです。 |
SerialRef |
Ref オブジェクトの直列化マッピングであり、Javaプログラミング言語でのSQL REF 値のマッピングです。 |
SerialStruct |
Javaプログラミング言語でのSQL構造型の直列化マッピングです。
|
SQLInputImpl |
ユーザー定義型(UDT)のカスタム・マッピング用入力ストリームです。
|
SQLOutputImpl |
カスタム・マップされたユーザー定義型(UDT)の属性をデータベースに再度書き込むための出力ストリームです。
|
例外 | 説明 |
---|---|
SerialException |
BLOB, CLOB, STRUCT or ARRAY などのSQL型やDATALINK and JAVAOBJECT などのSQL型の、直列化または直列化復元時のエラーを示します。 |
標準JDBC RowSet
実装は、これらのユーティリティ・クラスを、未接続のRowSet
オブジェクトを直列化するための補助として利用できます。未接続のRowSetを回線経由で別のVMに転送したり、アプリケーション内のレイヤー間で転送したりする場合に便利です。
RowSet
実装は、RowSet.getURL() メソッドを使用して、外部データの操作用のjava.net.URL
オブジェクトを取得できます。Map
オブジェクトがいずれかのコンストラクタまたはgetAttributes
メソッドに渡される場合、構造型は、Map
オブジェクトに指定されたマッピングに従って、カスタム・マップされます。wasNull
メソッドが使用されます。Map
オブジェクトを取るコンストラクタまたは取得メソッドが呼び出されると、JDBCドライバはSQLData.getSQLTypeメソッドを呼び出して、カスタム・マップされるUDTのSQL型を確定します。ドライバは、SQLInputImpl
のインスタンスを作成し、UDTの属性を移植します。続いて、入力ストリームをSQLData.readSQLメソッドに渡します。すると、このメソッドは、SQLInputImplメソッドを呼び出して、入力ストリームから属性を読み取ります。SQLOutputImpl
のインスタンスを作成し、SQLData.writeSQLメソッドに渡します。すると、writeSQL
メソッドによって適切なSQLOutputImplライター・メソッドが呼び出され、SQLData
オブジェクトからSQLOutputImpl
出力ストリームに、SQLユーザー定義型の表現としてデータが書き込まれます。
プログラマは、SQLData
インタフェースを実装することにより、マッピングを定義します。たとえば、NAME、TITLE、PUBLISHERの各属性を持つ、AUTHORSというSQL構造型があるとします。このSQL構造型は、Authorsという名前のJavaクラスにマップされます。Authorsクラスには、AUTHORSの各属性に対応するフィールド、name、title、publisherを持たせることができます。この場合、SQLData
の実装は次のようになります。
public class Authors implements SQLData { public String name; public String title; public String publisher; private String sql_type; public String getSQLTypeName() { return sql_type; } public void readSQL(SQLInput stream, String type) throws SQLException { sql_type = type; name = stream.readString(); title = stream.readString(); publisher = stream.readString(); } public void writeSQL(SQLOutput stream) throws SQLException { stream.writeString(name); stream.writeString(title); stream.writeString(publisher); } }
java.util.Map
オブジェクトは、SQL構造型とAuthors
クラスのマッピングの関連付けに使用されています。次のコードの抜粋では、Map
オブジェクトを作成し、AUTHORS
とAuthors
を関連付けるエントリを指定します。
java.util.Map map = new java.util.HashMap(); map.put("SCHEMA_NAME.AUTHORS", Class.forName("Authors");
Map
オブジェクトmapに、SQL構造型の完全指定名とAuthors
クラスのClass
オブジェクトから成るエントリが追加されます。このエントリがメソッドに渡されることにより、ドライバは、AUTHORS
とAuthors
のマッピングの関係を把握できます。
未接続のRowSet
オブジェクトの場合、カスタム・マッピングを行うコンストラクタまたはメソッドにMap
オブジェクトが渡された場合にのみ、カスタム・マッピングが行われます。接続済みRowSet
オブジェクトの場合、データ・ソースとの接続が確保されているので、状況は異なります。カスタム・マッピングを行うメソッドが未接続のRowSet
オブジェクトによって呼び出されると、このメソッドは、使用されるConnection
オブジェクトに関連付けられたMap
オブジェクトを使用します。つまり、マップを指定しない場合、デフォルトとして接続の型マップが使用されます。
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.