java.util.arraysをインポートします。 java.util.collectionsをインポートします。 java.util.listをインポートします。 /*** @author shuang.gao日付:2016/1/28時間:12:26*/public class pager <t> {/***表示された文字の数ページごとに表示*/private int pageize; / ***オリジナルコレクション*/プライベートリスト<T>データ; Private Pager(list <t> data、int pagesize){if(data == null || data.isempty()){throw new IllegalargumentException( "データは空ではない!"); } this.data = data; this.pagesize = pagesize; } / ***ページャーを作成** @paramデータページを作成する必要があるデータ* @paramページサイズページごとに表示されるピースの数* @param <t> business pager* / public static <t> pager <> create(list <t> data、int pagesize){return new pager <>(dataize); } / ***ページデータを取得** @param pagenumページ番号*ページング後の結果* / publicリスト<t> getPagedList(int pagenum){int fromindex =(pagenum -1)* pagesize; if(fromindex> = data.size()){return collections.emptylist(); } int toindex = pagenum * pageize; if(toindex> = data.size()){toindex = data.size(); } data.sublist(fromindex、toindex); } public int getPagesize(){return pagesize; } public list <t> getData(){return data; } public static void main(string [] args){integer [] array = {1、2、3、4、5、6、7、8、9、10、11、12};リスト<Integer> list = arrays.aslist(array); pager <integer> pager = pager.create(list、10);リスト<Integer> page1 = pager.getPagedList(1); System.out.println(page1);リスト<Integer> page2 = pager.getPagedList(2); System.out.println(page2); List <Integer> page3 = pager.getPagedList(3); System.out.println(page3); }}名前が示すように、誤ったページネーションはデータベースで実際にフィルタリングしているのではなく、データベースをクエリして提示時にいくつかのトリックを実行した後にすべての結果を取得しています。
java.util.arraysをインポートします。
java.util.collectionsをインポートします。
java.util.listをインポートします。
/**
* @author shuang.gao日付:2016/1/28時間:12:26
*/
パブリッククラスのページ<t> {
/**
*ページごとに表示されるピースの数
*/
Private int Pagesize;
/**
*オリジナルコレクション
*/
プライベートリスト<T>データ;
プライベートページ(リスト<t>データ、int pageize){
if(data == null || data.isempty()){
新しいIllegalargumentException(「データは空ではない必要があります!」)を投げます。
}
this.data = data;
this.pagesize = pagesize;
}
/**
*ポケットベルを作成します
*
*ページネーションを必要とする@paramデータ
* @paramページサイズページごとに表示されるピースの数
* @param <t>ビジネスオブジェクト
* @returnページングマシン
*/
public static <t> pager <t> create(list <t> data、int pagesize){
新しいページを返します<>(data、pagesize);
}
/**
*ページングデータを取得します
*
* @param pagenumページ番号
* @returnページネーションの結果
*/
パブリックリスト<t> getPagedList(int pagenum){
int fromindex =(pagenum -1) * pagesize;
if(fromindex> = data.size()){
return collections.emptylist();
}
int toindex = pagenum * pagesize;
if(toindex> = data.size()){
toindex = data.size();
}
data.sublist(fromindex、toindex);
}
public int getPagesize(){
ページサイズを返します。
}
パブリックリスト<t> getData(){
データを返す;
}
public static void main(string [] args){
integer [] array = {1、2、3、4、5、6、7、8、9、10、11、12};
リスト<Integer> list = arrays.aslist(array);
pager <integer> pager = pager.create(list、10);
リスト<Integer> page1 = pager.getPagedList(1);
System.out.println(page1);
リスト<Integer> page2 = pager.getPagedList(2);
System.out.println(page2);
List <Integer> page3 = pager.getPagedList(3);
System.out.println(page3);
}
}
これはシンプルなポケットベルです。原則は非常に単純です。データベースからクエリされたデータはポケットベルに渡され、返品は分割されたページのコレクションです。
利点は、すべてのJDBCデータベースと互換性があることです。不利な点は、この方法がデータの大規模なバッチに適していないことです。
上記はこの記事に関するものです。すべての人の学習に役立つことを願っています。