このようなインターフェースを定義した後に、pureQuery ジェネレーターを実行して、インターフェースを実装するクラスを作成します。
com.ibm.pdq.runtime.factory.DataFactory クラスは、アノテーション付きメソッドを定義するインターフェースのインプリメンテーションをインスタンス化するための手段を、アプリケーションに提供します。
データベースに対して SQL を実行できるようにカスタム・インターフェースのインプリメンテーションをインスタンス化する際には、そのデータベースに対するオープン接続が必要です。
例えば、インプリメンテーションを以下のようなアプリケーション・ロジックを使用してインスタンス化することができます。
Connection con = DriverManager.getConnection(...); CustomerQuery cQuery = DataFactory.getData(CustomerQuery.class, con);
データ・ソースに対して SQL を実行できるようにカスタム・インターフェースのインプリメンテーションをインスタンス化する際には、そのデータ・ソースはオープン状態でなければなりません。
例えば、インプリメンテーションを以下のようなアプリケーション・ロジックを使用してインスタンス化することができます。
import javax.naming.*; import javax.sql.*; ... Context ctx=new InitialContext(); DataSource ds=(DataSource)ctx.lookup("..."); CustomerQuery cQuery = DataFactory.getData(CustomerQuery.class, ds);
DataFactory は java.sql.Connection を作成し、次いで基となるデータ・ストアへのアクセスに Connection を使用する Data オブジェクトをインスタンス化します。 次いで、例えば Connection プロパティーを変更するために、暗黙に作成された Connection をアプリケーションが必要とする場合、アプリケーションは Data オブジェクトの getConnection() メソッドを使用してそれへの参照を獲得できます。