Une fois que vous avez défini une telle interface, exécutez le générateur pureQuery pour créer une classe implémentant l'interface.
La classe com.ibm.pdq.runtime.factory.DataFactory permet à l'application d'instancier les implémentations des interfaces dans lesquelles vous définissez les méthodes annotées. L'implémentation de l'interface personnalisée renvoyée par la méthode DataFactory.getData() implémente aussi com.ibm.pdq.runtime.Data.
Lorsque vous initialisez une implémentation d'une interface personnalisée de manière à pouvoir exécuter une instruction SQL sur une base de données, vous devez avoir une connexion à la base de données ouverte.
Par exemple, vous pouvez initialiser une implémentation avec une logique d'application similaire à ceci :
Connection con = DriverManager.getConnection(...);
CustomerQuery cQuery =
DataFactory.getData(CustomerQuery.class, con);
Lorsque vous initialisez une implémentation d'une interface personnalisée de manière à pouvoir exécuter une instruction SQL sur une source de données, la source de données doit être ouverte.
Par exemple, vous pouvez initialiser une implémentation avec une logique d'application similaire à ceci :
import javax.naming.*;
import javax.sql.*;
...
Context ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("...");
CustomerQuery cQuery =
DataFactory.getData(CustomerQuery.class, ds);
DataFactory crée un java.sql.Connection, puis initialise un objet Data utilisant la connexion pour accéder à la structure de stockage de données sous-jacente. Si l'application a ensuite besoin de la connexion créée de manière implicite, par exemple pour modifier une propriété Connection, elle peut obtenir une référence à celle-ci en utilisant la méthode getConnection() de l'objet Data.