So paginieren Sie in Java
Das Implementierungsprinzip ist sehr einfach, das heißt, Sie erstellen eine Page-Klasse. Diese enthält die Nummer der aktuell besuchten Seite (das sind die Daten, die vom Browser des Kunden an das Backend übertragen werden, daher muss Ihr Paging sie verwenden, um die aufgezeichneten Einträge zu finden) und die Anzahl der auf jeder Seite angezeigten Datensatzzeilen.
Dann können die folgenden Daten durch Paging-Berechnung erhalten werden. (Gehen Sie davon aus, dass Ihre Seitenzahl bei 1 beginnt)
1. Gesamtzahl der Seiten = Gesamtzahl der Datensätze/Größe jeder Seite, wenn 0 = Gesamtzahl der Datensätze % der Größe jeder Seite, dann die Gesamtzahl Anzahl der Seiten + 1
2. Die aktuelle Seitenzahl (erhalten aus den vom Browser übergebenen Parametern)
3. Die Startposition des Tabellendatensatzes = (aktuelle Seitenzahl-1) *jede Seitengröße
Die Gesamtzahl der Datensätze (wählen Sie count(*) aus [Tabellenname] [wobei [Bedingung]] aus der Datenbank abgerufen wird)
Die Größe Jede Seite kann festgelegt oder von der Seite abgerufen werden. Verwenden Sie nach der Übergabe dieser Parameter einfach SQL-Anweisungen, um die entsprechenden Datensätze zu finden.
Die MySQL-Datenbank verwendet die Limit-Tabelle, um die Startposition aufzuzeichnen, und die Anweisung pro Seite wird am Ende Ihrer Abfrageanweisung hinzugefügt. Die SQLServer-Datenbank verwendet dazu die Top-Anweisung und nicht.
Die Oracle-Datenbank verwendet dazu Rownum. Der spezifische Code zum Erstellen von
lautet wie folgt:
public class Page { private long totalCount = 0;// 总记录数 private int pageNumber = 1;// 当前页号,默认显示第一页 private int pageSize = 20; // 每页大小,默认每页20条 private int totalPage = 0;// 总页数,默认为0 private int startRow = 0;// 起始记录行号,默认为从表头开始 /** * 分页计算方法,由setTotalCount调用 */ public void pagination() { // 计算总页数 if (this.totalCount % pageSize == 0) this.totalPage = new Long(this.totalCount / pageSize).intValue(); else this.totalPage = new Long(this.totalCount / pageSize).intValue() + 1; // 排除错误页号 if (this.pageNumber < 1) this.pageNumber = 1; if (this.pageNumber > this.totalPage) this.pageNumber = this.totalPage; // 计算起始行号 this.startRow = (this.pageNumber - 1) * this.pageSize; } public long getTotalCount() { return totalCount; } public void setTotalCount(long totalCount) { this.totalCount = totalCount; this.pagination(); } public int getPageNumber() { return pageNumber; } public void setPageNumber(int pageNumber) { this.pageNumber = pageNumber; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getTotalPage() { return totalPage; } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public int getStartRow() { return startRow; } public void setStartRow(int startRow) { this.startRow = startRow; } }
Das Frontend verwendet JSP und die Daten werden durch berechnet HTML kann in Seiten angezeigt werden.
php Chinesische Website, eine große Anzahl kostenloser Java-Einführungs-Tutorials, willkommen zum Online-Lernen!
Das obige ist der detaillierte Inhalt vonSo paginieren Sie in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!