pureQuery API の概要

pureQuery® API を使用すると、Java™ データ・アクセス・アプリケーションの開発、更新、およびトラブルシューティングを簡単に行うことができます。 pureQuery API を使用する Java アプリケーションを有効にするには、pureQuery Runtime JAR ファイルをアプリケーション・クラスパスに含めて、pureQuery Runtime プロパティーを指定します。

pureQuery アノテーション付きメソッドとインライン・メソッド

pureQuery API は、データにアクセスする SQL ステートメントからビジネス・ロジックを分離します。 これにより、アプリケーションとデータベース・アクセスの両方の保守がより簡単になります。 アノテーション付きメソッドを使ってデータ・アクセス・オブジェクトを作成することにより、データ・アクセス・オブジェクト (DAO) パターンに準拠するデータ・アクセス・アプリケーションを開発できます。 以下の図は、DAO インターフェースによってデータベース・アクセスがビジネス・ロジックからどのように分離されるかを示します。

図 1. pureQuery アノテーション付きメソッドを使用する pureQuery DAO インターフェース
pureQuery アノテーション付きメソッドを使用する DAO インターフェース

Data Studio で pureQuery アノテーション付きメソッドによりインターフェースを作成すると、Data Studio は、pureQuery アノテーション付きメソッドを宣言するインターフェース用のインプリメンテーション・クラスを生成します。

pureQuery DAO サポートを使用すると、Bean (または Bean のリストや配列) を返すアプリケーションを素早く簡単に開発することができます。 返される ResultSet 行および各行の個々の列を使用したり操作したりするための、独自の JDBC API を作成する必要はありません。

また、pureQuery API はインライン・メソッドもサポートします。 これにより、IBM 提供の Data インターフェースで定義されたメソッドを活用できます。 アプリケーション実行時に SQL ステートメントを組み立てる必要のあるアプリケーションでは、インライン・メソッドが役立ちます。 インライン・メソッドでは、メソッド呼び出しのパラメーターとして SQL ステートメントが渡されます。 インライン・メソッドは、JDBC および SQLJ で採用されている方式に似ています。

DAO パターンとインライン・メソッドのどちらの場合も、pureQuery API は、自動生成される ResultSet ハンドラーおよび手動で作成される ResultSet ハンドラーをサポートします。

pureQuery API アプリケーション環境

以下の図は、pureQuery API を使用するアプリケーションの標準的な環境を示しています。 アプリケーション・クラス・パスに pureQuery Runtime JAR ファイルが含まれています。 SQL ステートメントの実行を制御するために pureQuery Runtime で使われる pureQuery ランタイム・プロパティー情報がリポジトリーに含まれています。

図 2. 単純な pureQuery API アプリケーション環境
pureQuery API アプリケーション環境

リポジトリーはオプションです。 pureQuery ランタイム・プロパティーは、アプリケーション環境のプロパティー・ファイルの中で、またはアプリケーション・データベース接続プロパティーとして指定可能です。 例えば WebSphere® Application Server 環境では、データ・ソース、アプリケーション・レベル、またはグローバル・レベルでランタイム・プロパティーを指定することができます。

インターフェースを実装し pureQuery アノテーション付きメソッドを使用するアプリケーションから SQL ステートメントを静的に実行することができます。 Data Studio を使用するか、pureQuery ユーティリティー StaticBinder を使用して、バインド操作を実行します。 バインドおよび静的実行の対象となる SQL ステートメントを含んでいるインターフェースを指定します。 Data Studio によってインプリメンテーション・クラスを自動生成するか、pureQuery ユーティリティー Generator を使ってインターフェースのインプリメンテーション・クラスを生成することができます。


Feedback