import java.util.arrays; java.util.collections import; Java.util.list 가져 오기; /*** @author shuang.gao 날짜 : 2016/1/28 시간 : 12:26*/public class pager <t> {/*** 페이지 당 표시된 문자 수*/private int pagesize; / *** 원본 컬렉션*/ 개인 목록 <T> 데이터; Private Pager (List <T> data, int pagesize) {if (data == null || data.isempty ()) {New New OregalArgumentException ( "데이터가 비어 있지 않아야합니다!"); } this.data = 데이터; this.pagesize = pagesize; } / *** 호출기 생성** @param 데이터 페이지 당시 PAGING* @Param Pages를 페이지에 표시 해야하는 데이터* @param <t> 비즈니스 객체* @return Peager* / public static <t> Pager <T> 생성 (List <T> Data, Int Pagesize) {return Newer <> (데이터, 페이지 지정); } / *** 페이징* @param pagenum 페이지 번호* @return 결과 PAGING* / public list <T> getPagedList (int pagenum) {int fromIndex = (pagenum -1)* pagesize; if (fromindex> = data.size ()) {return collections.emplyist (); } int toIndex = pagenum * pagesize; if (toindex> = data.size ()) {toindex = data.size (); } return data.sublist (Fromindex, toindex); } public int getPagesize () {return pagesize; } 공개 목록 <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 (배열); Pager <integer> Pager = Pager.create (List, 10); 목록 <integer> page1 = pager.getPagedList (1); System.out.println (페이지 1); 목록 <integer> page2 = pager.getPagedList (2); System.out.println (Page2); 목록 <integer> page3 = pager.getPagedList (3); System.out.println (Page3); }} 이름에서 알 수 있듯이 잘못된 페이지 매김은 데이터베이스에서 실제로 필터링되는 것이 아니라 데이터베이스를 쿼리하고 제시 할 때 약간의 트릭을 수행 한 후 모든 결과를 얻습니다.
import java.util.arrays;
java.util.collections import;
Java.util.list 가져 오기;
/**
* @Author Shuang.gao 날짜 : 2016/1/28 시간 : 12:26
*/
공개 클래스 호출기 <t> {
/**
* 페이지 당 표시되는 조각 수
*/
Private int Pagesize;
/**
* 원본 컬렉션
*/
개인 목록 <T> 데이터;
개인 호출기 (List <T> 데이터, int pagesize) {
if (data == null || data.isempty ()) {
새로운 불법 행위 exception을 던지십시오 ( "데이터는 비어 있지 않아야합니다!");
}
this.data = 데이터;
this.pagesize = pagesize;
}
/**
* 호출기를 만듭니다
*
* 페이지 매김이 필요한 @param 데이터
* @param pages 페이지 당 표시되는 조각 수를 표시합니다
* @param <t> 비즈니스 객체
* @return 페이징 머신
*/
public static <t> pager <t> create (list <t> data, int pagesize) {
New Pager <> (Data, Pagesize)를 반환합니다.
}
/**
* PAGED 데이터를 가져옵니다
*
* @param pagenum 페이지 번호
* @return Pagination 결과
*/
공개 목록 <T> getPagedList (int pagenum) {
int fromIndex = (pagenum -1) * pagesize;
if (fromindex> = data.size ()) {
반환 collections.emplylist ();
}
int toIndex = pagenum * pagesize;
if (toIndex> = data.size ()) {
toIndex = data.size ();
}
Return Data.Sublist (FromIndex, ToIndex);
}
public int getPagesize () {
Pagesize를 반환합니다.
}
공개 목록 <T> getData () {
반환 데이터;
}
public static void main (String [] args) {
정수 [] 배열 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
목록 <integer> list = arrays.aslist (배열);
Pager <integer> Pager = Pager.create (List, 10);
목록 <integer> page1 = pager.getPagedList (1);
System.out.println (페이지 1);
목록 <integer> page2 = pager.getPagedList (2);
System.out.println (Page2);
목록 <integer> page3 = pager.getPagedList (3);
System.out.println (Page3);
}
}
이것은 간단한 호출기입니다. 원칙은 매우 간단합니다. 데이터베이스에서 쿼리 된 데이터는 호출기로 전달되며 반환은 분할 페이지 모음입니다.
장점은 모든 JDBC 데이터베이스와 호환되었다는 것입니다. 단점은이 방법이 대량의 데이터에 적합하지 않다는 것입니다.
위의 내용은이 기사에 관한 모든 것입니다. 모든 사람의 학습에 도움이되기를 바랍니다.