データ・アクセス・オブジェクトを使用した SQL ステートメントの実行

カスタム・インターフェースに定義したメソッドを呼び出すことにより、pureQuery でデータベース・オブジェクトを照会および更新できます。

このようなインターフェースを定義した後に、pureQuery ジェネレーターを実行して、インターフェースを実装するクラスを作成します。

com.ibm.pdq.runtime.factory.DataFactory クラスは、アノテーション付きメソッドを定義するインターフェースのインプリメンテーションをインスタンス化するための手段を、アプリケーションに提供します。

データベースに対して SQL を実行できるようにカスタム・インターフェースのインプリメンテーションをインスタンス化する際には、そのデータベースに対するオープン接続が必要です。

  1. データベースに対して java.sql.Connection を作成します。
  2. 次いで、DataFactory.getData() メソッドを使用して、そのデータベースに接続されているインプリメンテーションをインスタンス化します。

例えば、インプリメンテーションを以下のようなアプリケーション・ロジックを使用してインスタンス化することができます。

Connection con = DriverManager.getConnection(...);
CustomerQuery cQuery = 
    DataFactory.getData(CustomerQuery.class, con);

データ・ソースに対して SQL を実行できるようにカスタム・インターフェースのインプリメンテーションをインスタンス化する際には、そのデータ・ソースはオープン状態でなければなりません。

  1. データ・ソースに対して javax.sql.DataSource を作成します。
  2. 次いで、DataFactory.getData() メソッドを使用して、そのデータ・ソースに接続されているインプリメンテーションをインスタンス化します。

例えば、インプリメンテーションを以下のようなアプリケーション・ロジックを使用してインスタンス化することができます。

import javax.naming.*; 
import javax.sql.*; 
... 
Context ctx=new InitialContext(); 
DataSource ds=(DataSource)ctx.lookup("...");

CustomerQuery cQuery = 
    DataFactory.getData(CustomerQuery.class, ds);

DataFactoryjava.sql.Connection を作成し、次いで基となるデータ・ストアへのアクセスに Connection を使用する Data オブジェクトをインスタンス化します。 次いで、例えば Connection プロパティーを変更するために、暗黙に作成された Connection をアプリケーションが必要とする場合、アプリケーションは Data オブジェクトの getConnection() メソッドを使用してそれへの参照を獲得できます。


フィードバック