Combinaison logique d'interfaces pour réduire le nombre de packages DB2 à gérer

Vous pouvez créer une interface qui étend une ou plusieurs interfaces déclarant des méthodes annotées, puis faire appel à l'utilitaire pureQuery Generator pour générer une classe d'implémentation à partir de cette interface d'extension.

L'interface étendue peut aussi déclarer des méthodes annotées. Lorsque vous exécutez la commande pureQuery StaticBinder sur l'interface d'extension, vous créez et liez un package DB2 contenant les instructions SQL des interfaces étendues et de l'interface d'extension (si elle déclare les méthodes annotées).

Cette procédure permet de réduire le nombre de packages DB2 à gérer.

Avertissement : .

Exemple

Supposez que vous disposez des interfaces suivantes :
public interface SalesTeam { 
     @Select(sql="SELECT * FROM SALES") 
     List<SalesBean> getSalesEmployees(); 
}
   
public interface MarketingTeam { 
     @Select(sql="SELECT * FROM MARKETING") 
     List<MktBean> getMarketingEmployees(); 
}
Vous voulez définir les accès des instructions SQL de ces interfaces dans un seul package DB2. Pour ce faire, vous pouvez effectuer les opérations suivantes :
  1. Créez une interface qui étend SalesTeam et MarketingTeam. Dans cet exemple, le nom de l'interface est CombinedTeam et l'interface est la suivante :
    public interface CombinedTeam extends SalesTeam, MarketingTeam { 
       @Select("select sales/expense from dept where dept_id=?")
       public double getROIforDept(int dept_id);
    }
  2. Générez la classe d'implémentation de l'interface CombinedTeam en exécutant l'utilitaire pureQuery Generator. Cette classe d'implémentation contient les méthodes déclarées dans les interfaces SalesTeam et MarketingTeam.
  3. Exécutez l'utilitaire StaticBinder sur la classe d'implémentation générée en spécifiant l'interface combinée.

Commentaires