Utilisation d'objets d'accès aux données pour exécuter des instructions SQL

Vous pouvez lancer une requête sur et mettre à jour les objets de base de données dans pureQuery en appelant des méthodes que vous définissez dans une interface personnalisée.

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 propose un moyen pour votre application d'initialiser des implémentations des interfaces dans lesquelles vous définissez vos méthodes annotées.

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.

  1. Créez un java.sql.Connection pour la base de données.
  2. Ensuite, utilisez la méthode DataFactory.getData() pour initialiser une implémentation reliée à la base de données.

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.

  1. Créez un javax.sql.DataSource pour la source de données.
  2. Ensuite, utilisez la méthode DataFactory.getData() pour initialiser une implémentation reliée à la source de données.

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.


Commentaires