Datenzugriffsobjekte für die Ausführung von SQL-Anweisungen verwenden

Sie können Datenbankobjekte in pureQuery durch Aufrufen von Methoden, die Sie in einer angepassten Schnittstelle definieren, abfragen und aktualisieren.

Nachdem Sie eine solche Schnittstelle definiert haben, führen Sie das pureQuery-Dienstprogramm Generator aus, um eine Klasse zu erstellen, die die Schnittstelle implementiert.

Die Klasse com.ibm.pdq.runtime.factory.DataFactory ermöglicht der Anwendung, Implementierungen der Schnittstellen, in denen Sie die mit Annotationen versehenen Methoden definieren, zu instanziieren.

Wenn Sie eine Implementierung einer angepassten Schnittstelle instanziieren, sodass Sie SQL-Anweisungen für eine Datenbank ausführen können, benötigen Sie eine offene Verbindung zur betreffenden Datenbank.

  1. Sie erstellen ein java.sql.Connection für die Datenbank.
  2. Anschließend verwenden Sie die Methode DataFactory.getData() zum Instanziieren einer Implementierung, die mit dieser Datenbank verbunden ist.

Sie können z. B. eine Implementierung mit ähnlicher Anwendungslogik wie der folgenden instanziieren:

Connection con = DriverManager.getConnection(...);
CustomerQuery cQuery = 
    DataFactory.getData(CustomerQuery.class, con);

Wenn Sie eine Implementierung einer angepassten Schnittstelle instanziieren, sodass Sie SQL-Anweisungen für eine Datenquelle ausführen können, muss die Datenquelle geöffnet sein.

  1. Sie erstellen ein javax.sql.DataSource für die Datenquelle.
  2. Anschließend verwenden Sie die Methode DataFactory.getData() zum Instanziieren einer Implementierung, die mit dieser Datenquelle verbunden ist.

Sie können z. B. eine Implementierung mit ähnlicher Anwendungslogik wie der folgenden instanziieren:

import javax.naming.*; 
import javax.sql.*; 
... 
Context ctx=new InitialContext(); 
DataSource ds=(DataSource)ctx.lookup("...");

CustomerQuery cQuery = 
    DataFactory.getData(CustomerQuery.class, ds);

Von DataFactory wird ein java.sql.Connection erstellt und dann ein Objekt Data instanziiert, das die Verbindung verwendet, um auf den zugrunde liegenden Datenspeicher zuzugreifen. Wenn die Anwendung dann die implizit erstellte Verbindung benötigt, beispielsweise zum Ändern der Eigenschaft Connection, kann sie mithilfe der Methode getConnection() des Objekts Data einen Verweis darauf anfordern.


Feedback