管理すべき DB2 パッケージの数を削減するためのインターフェースの論理的な結合

アノテーション付きメソッドを宣言する 1 つ以上のインターフェースを拡張するインターフェースを作成し、pureQuery Generator ユーティリティーを使用して、拡張インターフェースからインプリメンテーション・クラスを生成することができます。

また拡張用のインターフェースでは、アノテーション付きメソッドを宣言できます。次いで pureQuery StaticBinder を拡張インターフェースで実行するときに、拡張インターフェースからの SQL ステートメント (およびそれがアノテーション付きメソッドを宣言している場合は拡張インターフェース) を含む、DB2® パッケージを作成およびバインドします。

この手順に従うことで、管理する必要のある DB2 パッケージの数を削減します。

重要: .

以下のインターフェースがあるとします。
public interface SalesTeam { 
     @Select(sql="SELECT * FROM SALES") 
     List<SalesBean> getSalesEmployees(); 
}
   
public interface MarketingTeam { 
     @Select(sql="SELECT * FROM MARKETING") 
     List<MktBean> getMarketingEmployees(); 
}
これらのインターフェースの SQL ステートメントを単一の DB2 パッケージにバインドするとします。そのためには、以下のステップを実行します。
  1. SalesTeam および MarketingTeam を拡張するインターフェースを作成します。この例では、インターフェースは CombinedTeam という名前で、以下のようになります。
    public interface CombinedTeam extends SalesTeam, MarketingTeam { 
       @Select("select sales/expense from dept where dept_id=?")
       public double getROIforDept(int dept_id);
    }
  2. pureQuery Generator ユーティリティーを実行して、CombinedTeam インターフェースのインプリメンテーション・クラスを生成します。 このインプリメンテーション・クラスには、SalesTeam インターフェースおよび MarketingTeam インターフェース内で宣言されているメソッドが含まれます。
  3. 結合されたインターフェースを指定することにより、生成されたインプリメンテーション・クラスに pureQuery StaticBinder ユーティリティーを実行します。

フィードバック