Einen ResultSet paginieren
Einführung
Um große Ergebnismengen auf überschaubare Weise anzuzeigen, Paginierung ist unerlässlich. Dadurch, dass Benutzer schrittweise durch die Daten navigieren können, verbessert die Paginierung das Benutzererlebnis und die Leistung.
Konvertieren eines ResultSets in eine paginierte Ansicht
So konvertieren Sie ein ResultSet in eine paginierte Ansicht sind folgende Schritte erforderlich:
1. Hinzufügen von Anforderungsparametern
Erweitern Sie die JSP-Seite mit Anforderungsparametern, um die Startzeile (firstrow) und die Anzahl der abzurufenden Zeilen (rowcount) zu definieren.
2. Erstellung von Paging-Schaltflächen
Fügen Sie Paging-Schaltflächen zur JSP-Seite hinzu, die den Firstrow-Parameter manipulieren. Die Schaltfläche „Weiter“ sollte die erste Zeile um die Zeilenanzahl erhöhen, während die Schaltfläche „Vorherige“ die erste Zeile um die Zeilenanzahl verringern sollte. Stellen Sie sicher, dass Sie mit extremen Werten vorsichtig umgehen.
3. Ausführung einer Unterlistenabfrage
Rufen Sie eine Unterliste des ResultSet mithilfe einer bestimmten SQL-Abfrage ab. Je nach Datenbank variiert die Syntax:
MySQL/PostgreSQL:
<code class="sql">SELECT id, username, job, place FROM contact ORDER BY id LIMIT %d OFFSET %d</code>
Oracle :
<code class="sql">SELECT id, username, job, place FROM (SELECT id, username, job, place FROM contact ORDER BY id) WHERE ROWNUM BETWEEN %d AND %d</code>
DB2:
<code class="sql">SELECT id, username, job, place FROM (SELECT row_number() OVER (ORDER BY id) AS row, id, username, job, place FROM contact) AS temp WHERE row BETWEEN %d AND %d</code>
4. Datenpräsentation
Verwenden Sie JSTL c:forEach, um die Unterliste auf der JSP-Seite darzustellen.
5. Paging-Steuerung
Fügen Sie ein Formular mit versteckten Feldern für die erste Zeile und die Zeilenanzahl sowie Absenden-Schaltflächen für die nächste und vorherige Seite hinzu. Dadurch können Benutzer manuell durch die Daten navigieren.
Leistungsüberlegungen
Vermeiden Sie es, die gesamte Tabelle in den Speicher abzurufen und sie zur Paginierung im Sitzungsbereich zu speichern. Dieser Ansatz kann die Speicherressourcen belasten, insbesondere bei großen Ergebnismengen und mehreren gleichzeitigen Benutzern. Verwenden Sie stattdessen den oben beschriebenen Ansatz zur Unterlistenabfrage, um effizient zu paginieren.
Das obige ist der detaillierte Inhalt vonWie kann man ein ResultSet für die Datenverwaltung effizient paginieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!