| クラス | 説明 |
|---|---|
| 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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。