Import Java.util.Arrays; Import Java.util.Collections; importieren java.util.list; /*** @author shuang.gao Datum: 2016/1/28 Zeit: 12:26*/öffentliche Klasse Pager <T> {/*** Anzahl der angezeigten Zeichen pro Seite*/private int pageSize; / *** Originalsammlung*/ private Liste <T> Daten; private pager (list <t> data, int pageSize) {if (data == null || data.isempty ()) {werfen Sie neue illegalArgumentException ("Daten müssen nicht leer sein!"); } this.data = Daten; this.PageSize = pageSize; } / *** Erstellen Sie einen Pager** @param Daten Die Daten, die paging sein müssen } / *** Holen Sie sich die PAGED -Daten** @param pagenum Seitennummer* @Return -Ergebnisse nach Paging* / publiclist <T> GetPagedList (int pagenum) {int vonIndex = (pagenum - 1)* pageSize; if (fromIndex> = data.size ()) {return Collections.EmptyList (); } int toIndex = pagenum * pageSize; if (toIndex> = data.size ()) {toIndex = data.size (); } return Data.Sublist (von INDEX, toIndex); } public int getPageSize () {return pageSize; } öffentliche Liste <T> getData () {returndaten; } public static void main (String [] args) {Integer [] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; List <Ganzzahl> list = arrays.aslist (Array); Pager <Ganzzahl> pager = pager.create (Liste, 10); Liste <Ganzzahl> page1 = pager.getPagedList (1); System.out.println (Seite1); Liste <Ganzzahl> Seite 2 = pager.getPagedList (2); System.out.println (Seite 2); List <Ganzzahl> page3 = pager.getPagedList (3); System.out.println (Seite3); }} Wie der Name schon sagt, filtert die falsche Pagination in der Datenbank nicht wirklich, sondern alle Ergebnisse nach Abfragen der Datenbank und einige Tricks beim Präsentieren.
Import Java.util.Arrays;
Import Java.util.Collections;
importieren java.util.list;
/**
* @Author shuang.gao Datum: 2016/1/28 Zeit: 12:26
*/
öffentliche Klasse Pager <t> {
/**
* Anzahl der Teile pro Seite angezeigt
*/
private int pagesize;
/**
* Originalsammlung
*/
private Liste <t> Daten;
private pager (list <t> data, int pageSize) {
if (data == null || data.isempty ()) {
Neue IllegalArgumentException werfen ("Daten müssen nicht leer sein!");
}
this.data = Daten;
this.PageSize = pageSize;
}
/**
* Erstellen Sie einen Pager
*
* @Param -Daten, die Pagination erfordert
* @param pageSize Anzahl der pro Seite angezeigten Teile
* @param <t> Geschäftsobjekt
* @return Paging -Maschine
*/
public static <t> pager <t> create (list <t> data, int pageSize) {
Neue Pager <> (Daten, pageSize) zurückgeben;
}
/**
* Holen Sie sich die PAGED -Daten
*
* @param pagenum Seitennummer
* @return Paginationsergebnisse
*/
öffentliche Liste <T> GetpageList (int pagenum) {
int vonIndex = (pagenum - 1) * pageSize;
if (fromindex> = data.size ()) {
return collections.EmptyList ();
}
int toIndex = pagenum * pageSize;
if (toIndex> = data.size ()) {
toIndex = data.size ();
}
return data.sublist (von iNdex, toIdex);
}
public int getPageSize () {
pagesize zurückgeben;
}
öffentliche Liste <T> getData () {
Daten zurückgeben;
}
public static void main (String [] args) {
Integer [] Array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
List <Ganzzahl> list = arrays.aslist (Array);
Pager <Ganzzahl> pager = pager.create (Liste, 10);
Liste <Ganzzahl> page1 = pager.getPagedList (1);
System.out.println (Seite1);
Liste <Ganzzahl> Seite 2 = pager.getPagedList (2);
System.out.println (Seite 2);
List <Ganzzahl> page3 = pager.getPagedList (3);
System.out.println (Seite3);
}
}
Dies ist ein einfacher Pager. Das Prinzip ist sehr einfach. Die aus der Datenbank abgefragten Daten werden in den Pager übergeben und die Rückgabe ist eine Sammlung von geteilten Seiten.
Der Vorteil ist, dass es mit allen JDBC -Datenbanken kompatibel ist. Der Nachteil ist, dass diese Methode für große Datenstapel nicht geeignet ist.
Das Obige dreht sich alles um diesen Artikel, ich hoffe, es wird für das Lernen aller hilfreich sein.