Sie können Datenbankobjekte in pureQuery durch Aufrufen von Methoden, die in der Schnittstelle com.ibm.pdq.runtime.Data definiert sind, abfragen und aktualisieren.
Die Klasse com.ibm.pdq.runtime.factory.DataFactory ermöglicht die Erstellung von Implementierungen der Schnittstelle Data.
Die Schnittstelle Data stellt Methoden zum Ausführen der folgenden Operationen bereit:
- Ausführen von Abfragen, wobei nur die erste Zeile jedes Abfrageergebnisses zurückgegeben wird
- Ausführen von Abfragen, wobei jedes Abfrageergebnis in einem Array, einer Liste oder einem Iterator zurückgegeben wird
- Ausführen von Abfragen, wobei jedes Abfrageergebnis in Form eines java.sql.ResultSet-Objekts zurückgegeben wird
- Ausführen von Abfragen, wobei jedes Abfrageergebnis in einem Objekt zurückgegeben wird, das durch ein von Ihnen angegebenes ResultHandler erstellt wird.
- Ausführen von SQL-Anweisungen CALL, wobei deren Ausgabeparameter aktualisiert und der Zugriff auf die dynamischen Abfrageergebnisse ermöglicht wird, die von einer gespeicherten Prozedur erstellt werden
- Ausführen von SQL-DML-Anweisungen in Form einzelner Operationen oder in Stapeln
Die DML-Methoden von 'Data' sind überladen, sodass Benutzer angeben können, dass die automatisch generierten Spalten einer Tabelle zurückgegeben und ggf. die entsprechenden Eigenschaften einer bereitgestellten Bean-Klasse aktualisiert werden sollen.
Viele der Abfragemethoden der Schnittstelle Data sind generisch, sodass damit Instanzen unterschiedlicher Typen sowie Gruppen unterschiedlicher Typen zurückgegeben werden können. Weiterhin sind die Abfragemethoden der Schnittstelle Data überladen, wodurch Sie folgenden Aktionen ausführen können:
- Bereitstellen einer Bean-Klasse, die von pureQuery instanziiert und mit einer Zeile eines Abfrageergebnisses gefüllt wird
- Angeben, dass jede Zeile des Abfrageergebnisses in einem Map<String,
Object> zurückgegeben werden soll. Die Schlüssel des Map sind die in Kleinbuchstaben konvertierten Spaltenkennungen und die Werte des Map sind die Werte aus den Spalten.
- Bereitstellen eines angepassten Zeilenhandlers zum Umwandeln von Zeilen des durch eine SQL-Abfrage zurückgegebenen Ergebnisses in Instanzen einer Bean-Klasse
Achtung: Datenobjekte sind nicht threadsicher. Verwenden Sie sie nicht threadübergreifend. Verwenden Sie ein Objekt Data nur in dem Thread, es erstellt wurde.