Sie können Cursorattribute für Abfrageergebnisse aus Abfragen, die Sie aus mit Annotationen versehenen und integrierten Methoden ausführen, festlegen. Mit diesen Attributen können Sie verschiebbare oder aktualisierbare Abfrageergebnisse erstellen.
Sie können die folgenden Attribute festlegen:
- Attribute, die den Modus für gemeinsamen Zugriff für ein Objekt ResultSet definieren
- java.sql.ResultSet.CONCUR_READ_ONLY
- Die ganzzahlige Konstante, die angibt, dass der Cursor Aktualisierungen verhindert, während das Abfrageergebnis geöffnet ist.
- java.sql.ResultSet.CONCUR_UPDATABLE
- Die ganzzahlige Konstante, die angibt, dass der Cursor Aktualisierungen zulässt, während das Abfrageergebnis geöffnet ist.
Achtung: pureQuery unterstützt positionierte Aktualisierungen und Löschungen mit mit Annotationen versehenen Methoden, aber nicht mit integrierten Methoden.
- Attribute, die definieren, ob ein Objekt ResultSet geschlossen werden soll, wenn die Methode
Connection.commit() aufgerufen wird
- java.sql.ResultSet.CLOSE_CURSORS_AT_COMMIT
- Die ganzzahlige Konstante, die angibt, dass der Cursor am Ende einer Transaktion geschlossen wird.
- java.sql.ResultSet.HOLD_CURSORS_OVER_COMMIT
- Die ganzzahlige Konstante, die angibt, dass der Cursor am Ende einer Transaktion geöffnet bleibt.
- Attribute, die den Typ für ein Objekt ResultSet definieren
- java.sql.ResultSet.TYPE_FORWARD_ONLY
- Die ganzzahlige Konstante, die angibt, dass der Cursor nur vorwärts bewegt werden kann.
- java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE
- Die ganzzahlige Konstante, die angibt, dass der Cursor vorwärts und rückwärts bewegt werden kann. Das Abfrageergebnis stellt eine Momentaufnahme der Daten dar.
- java.sql.ResultSet.TYPE_SCROLL_SENSITIVE
- Die ganzzahlige Konstante, die angibt, dass der Cursor vorwärts und rückwärts bewegt werden kann. Das Abfrageergebnis spiegelt Änderungen wider, die an den Daten vorgenommen werden, während der Cursor gehalten wird.
- Wenn Sie dieses Attribut für eine Abfrage verwenden, die an DB2 Database für Linux®, UNIX® und Windows® oder an DB2 für z/OS gebunden ist, wird der Cursor als Cursor
SENSITIVE STATIC SCROLL gebunden. Weitere Informationen zu diesem Cursortyp finden Sie im Handbuch
DB2 for z/OS Application Programming and SQL Guide.
Standardmäßig werden von pureQuery folgende Attribute verwendet, wenn Sie nicht explizit Attribute festlegen:
- java.sql.ResultSet.CONCUR_READ_ONLY
- java.sql.ResultSet.CLOSE_CURSORS_AT_COMMIT
- java.sql.ResultSet.TYPE_FORWARD_ONLY
Mit Annotationen versehene Methoden zum Festlegen von Cursorattributen verwenden
Verwenden Sie die Annotation @Cursor zusammen mit der Annotation @Select, um die gewünschten Cursorattribute für ein Abfrageergebnis anzugeben. Informationen finden Sie im Syntaxdiagramm für mit Annotationen versehene Methoden, von denen SQL-Anweisungen für Datenbanken ausgeführt werden.
Integrierte Methoden zum Festlegen von Cursorattributen verwenden
Verwenden Sie eine der folgenden Methoden der Schnittstelle
Data:
- public <T> T query (int type, int concurrency, int holdability,
String sql, ResultHandler<T> handler, Object... parameters);
- public Iterator<Map<String, Object>> queryIterator
(int type, int concurrency, int holdability, String sql, Object...
parameters);
- public <T> Iterator<T> queryIterator (int type, int
concurrency, int holdability, String sql, Class<T> returnClass,
Object... parameters);
- public <T> Iterator<T> queryIterator (int type, int
concurrency, int holdability, String sql, RowHandler<T> rowHandler,
Object... parameters);
- public ResultSet queryResults (int type, int concurrency, int
holdability, String sql, Object... parameters);
Informationen zu diesen Methoden finden Sie im pureQuery-Javadoc für die Schnittstelle
Data.