importar java.util.arrays; import java.util.collections; import java.util.list; /*** @author shuang.gao Fecha: 2016/1/28 Hora: 12:26*/public class Pager <T> {/*** Número de caracteres mostrados por página*/private int PageSize; / *** COLECCIÓN ORIGINAL*/ Lista privada <T> datos; Pager privado (list <t> data, int pageSize) {if (data == null || data.isEmpty ()) {throw newleArGumentException ("¡Los datos no deben estar vacíos!"); } this.data = data; this.pagesize = PageSize; } / *** Crear un buscapersonas** @param Data Los datos que deben estar en paginación* @param páginas de páginas para la cantidad de piezas que se muestran por página* @param <t> objeto comercial* @return Pager* / public static <t> Pager <t> create (list <t> data, int Pagesize) {return New Pager <> (Data, PageSize); } / *** Obtenga los datos pagados** @Param PageNum Número de página* @return Resultados después de la paginación* / public List <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 (); } return data.sublist (fromIndex, toindex); } public int getPageSize () {return PageSize; } Lista pública <T> getData () {return data; } public static void main (string [] args) {integer [] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; List <integer> list = arrays.aslist (array); Pager <Integer> Pager = Pager.Create (List, 10); Lista <integer> page1 = Pager.getPagedList (1); System.out.println (Page1); Lista <integer> page2 = Pager.getPagedList (2); System.out.println (página2); Lista <integer> Page3 = Pager.getPagedList (3); System.out.println (Page3); }} Como su nombre indica, la falsa paginación no se está filtrando en la base de datos, sino obtener todos los resultados después de consultar la base de datos y hacer algunos trucos al presentarla.
importar java.util.arrays;
import java.util.collections;
import java.util.list;
/**
* @author shuang.gao Fecha: 2016/1/28 Hora: 12:26
*/
Pager de clase pública <T> {
/**
* Número de piezas que se muestran por página
*/
Página privada int;
/**
* Colección original
*/
Lista privada <t> datos;
Pager privado (list <t> data, int págsageize) {
if (data == null || data.isEmpty ()) {
tirar nueva ilegalargumentException ("¡Los datos no deben estar vacíos!");
}
this.data = data;
this.pagesize = PageSize;
}
/**
* Crea un buscapersonas
*
* @param datos que requieren paginación
* @param Número de piezas que se muestran por página
* @param <t> objeto comercial
* @Return Paging Machine
*/
public static <t> Pager <t> create (list <t> data, int pageSize) {
devolver nuevo buscapersonas <> (datos, páginas);
}
/**
* Obtenga los datos pagados
*
* @param número de página Pagenum
* @Return Pagination Resultados
*/
Lista pública <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 ();
}
return data.sublist (fromindex, toindex);
}
public int getPageSize () {
retorno de páginas;
}
Lista pública <T> getData () {
devolver datos;
}
public static void main (string [] args) {
Integer [] Array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
List <integer> list = arrays.aslist (array);
Pager <Integer> Pager = Pager.Create (List, 10);
Lista <integer> page1 = Pager.getPagedList (1);
System.out.println (Page1);
Lista <integer> page2 = Pager.getPagedList (2);
System.out.println (página2);
Lista <integer> Page3 = Pager.getPagedList (3);
System.out.println (Page3);
}
}
Este es un buscapersonas simple. El principio es muy simple. Los datos consultados desde la base de datos se pasan al buscapersonas y el retorno es una colección de páginas divididas.
La ventaja es que es compatible con todas las bases de datos JDBC, la desventaja es que este método no es adecuado para grandes lotes de datos.
Lo anterior se trata de este artículo, espero que sea útil para el aprendizaje de todos.