モジュール java.sql.rowset
パッケージ javax.sql.rowset

インタフェースJdbcRowSet

すべてのスーパー・インタフェース:
AutoCloseable, Joinable, ResultSet, RowSet, Wrapper

public interface JdbcRowSet extends RowSet, Joinable
JdbcRowSetのすべての標準実装が実装しなければならない標準インタフェースです。

1.0 概要

結果セットをJavaBeansコンポーネントとして使用できるようにするResultSetオブジェクトのラッパー。 したがって、JdbcRowSetオブジェクトは、ツールがアプリケーションの組立てに利用できるBeansの1つになります。 JdbcRowSetは接続された行セットなので、JDBCテクノロジを使用可能なドライバを使用してデータベース接続を継続して保持します。また、ドライバを事実上のJavaBeansコンポーネントにします。

常にデータベースに接続されているので、JdbcRowSetのインスタンスは、この接続上で呼出しを行い、続いてこれらをそのResultSetオブジェクト上で呼び出します。 その結果、たとえば結果セットは、Swingアプリケーションのコンポーネントになります。

JdbcRowSetオブジェクトのもう1つの利点は、ResultSetオブジェクトにスクロール機能と更新機能を持たせることができる点にあります。 すべてのRowSetオブジェクトは、デフォルトで、スクロール機能と更新機能を備えています。 使用するドライバとデータベースが結果セットのスクロール機能や更新機能をサポートしない場合、アプリケーションはJdbcRowSetオブジェクトにResultSetオブジェクトのデータを移植し、あたかもResultSetオブジェクトのようにJdbcRowSetオブジェクトを操作することができます。

2.0 JdbcRowSetオブジェクトの作成

JdbcRowSetインタフェースのリファレンス実装、JdbcRowSetImplは、デフォルト・コンストラクタの実装を提供します。 新しいインスタンスは、デフォルト値で初期化されます。その後、必要に応じて新しい値を設定できます。 新しいインスタンスは、executeメソッドが呼び出されるまで、実際には機能しません。 通常、このメソッドは次の処理を行います。
  • データベースとの接続を確立する
  • PreparedStatementオブジェクトを作成し、プレースホルダー・パラメータを設定する
  • ResultSetオブジェクトを作成する文を実行する
executeメソッドは、成功した場合、適切なprivate JdbcRowSetフィールドに次の項目を設定します。
  • Connectionオブジェクト -- 行セットとデータベース間の接続
  • PreparedStatementオブジェクト -- 結果セットを生成するクエリー
  • ResultSetオブジェクト -- 行セットのコマンドによって生成された結果セット。この結果セットから、JavaBeansコンポーネントが生成される
これらのフィールドが設定されていない場合は、executeメソッドが正常に実行されなかったことになります。行セット上では、executeclose以外のメソッドは呼び出せません。 その他のpublicメソッドはすべて例外をスローします。

しかし、executeメソッドの呼出しの前に、接続の確立に必要なコマンドとプロパティを設定する必要があります。 次のコードでは、JdbcRowSetImplオブジェクトを作成し、コマンドおよび接続のプロパティを設定し、プレースホルダー・パラメータを設定し、さらにexecuteメソッドを呼び出します。

     JdbcRowSetImpl jrs = new JdbcRowSetImpl();
     jrs.setCommand("SELECT * FROM TITLES WHERE TYPE = ?");
     jrs.setURL("jdbc:myDriver:myAttribute");
     jrs.setUsername("cervantes");
     jrs.setPassword("sancho");
     jrs.setString(1, "BIOGRAPHY");
     jrs.execute();
 
変数jrsは、表TITLES (書籍の種類は伝記文学)内のすべての行を含むResultSetオブジェクトのthinラッパー、JdbcRowSetImplのインスタンスを表現するようになります。 この時点で、jrs上で呼び出される操作は、結果セット内の行(事実上のJavaBeansコンポーネント)に影響を及ぼします。

JdbcRowSetリファレンス実装のRowSetメソッドexecuteの実装は、接続および切断されたRowSetオブジェクトの様々な要件を考慮してCachedRowSetリファレンス実装の実装とは異なります。

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