importar java.util.arrays; importar java.util.Collections; importar java.util.list; /*** @author shuang.gao Data: 2016/1/28 Tempo: 12:26*/public class Pager <T> {/*** Número de caracteres exibidos por página*/private int PageSize; / *** Coleção original*/ Lista privada <T> Dados; Pager privado (Lista <T> Dados, int PageSize) {if (data == null || data.isEmpty ()) {lança nova ilegalArgumentException ("Os dados não devem estar vazios!"); } this.data = dados; this.Pagesize = PageSize; } / *** Crie um pager** @Param Data Os dados que precisam estar pagando* @param Pagesize o número de peças exibidas por página* @param <t> objeto de negócios* @return pager* / public static <t> pager <T> CREATE (LIST <T. Data, Int Pagesize) {return Pager <> (Data, Pagesize); } / *** Obtenha os dados paginados** @param pagenum Número da página* @return Resultados Após a paginação* / Lista pública <T> getPagedList (int pagenum) {int deindex = (pagenum - 1)* Pagesize; if (FromIndex> = data.size ()) {return collection.Emptylist (); } int toIndex = pagenum * Pagesize; if (toIndex> = data.size ()) {toIndex = data.size (); } retornar data.sublist (FromIndex, ToIndex); } public int getPagesize () {return pagageSize; } Lista pública <T> getData () {retornar dados; } public static void main (string [] args) {Integer [] Array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; List <Teger> list = Arrays.asList (Array); Pager <Teger> pager = pager.create (lista, 10); Lista <Teger> página1 = pager.getPagedList (1); System.out.println (página1); Lista <Teger> página2 = pager.getPagedList (2); System.out.println (página2); Lista <Teger> página3 = pager.getPagedList (3); System.out.println (página3); }} Como o nome sugere, a paginação falsa não está realmente filtrando no banco de dados, mas a obtenção de todos os resultados depois de consultar o banco de dados e fazer alguns truques ao apresentá -lo.
importar java.util.arrays;
importar java.util.Collections;
importar java.util.list;
/**
* @Author Shuang.gao Data: 2016/1/28 Hora: 12:26
*/
classe pública pager <T> {
/**
* Número de peças exibidas por página
*/
private int PageSize;
/**
* Coleção original
*/
Dados da lista privada <T>;
Pager privado (Lista <T> Dados, int PageSize) {
if (data == null || data.isempty ()) {
lançar novas ilegalargumentException ("Os dados não devem estar vazios!");
}
this.data = dados;
this.Pagesize = PageSize;
}
/**
* Crie um pager
*
* @param dados que requerem paginação
* @param pagageSize Número de peças exibidas por página
* @param <t> objeto de negócios
* Máquina de paginação @return
*/
public static <t> pager <T> CREATE (LIST <T> DATA, INT PAGESIZE) {
return New Pager <> (Data, PageSize);
}
/**
* Obtenha os dados da Pagada
*
* @param pagenum Número da página
* Resultados da paginação @return
*/
Lista pública <t> getPagedList (int pagenum) {
int fromIndex = (pagenum - 1) * PageSize;
if (fromIndex> = data.size ()) {
Return collection.Emptylist ();
}
int toIndex = pagenum * Pagesize;
if (toIndex> = data.size ()) {
toIndex = data.size ();
}
retornar data.sublist (FromIndex, ToIndex);
}
public int getPagesize () {
retornar PageSize;
}
Lista pública <T> getData () {
retornar dados;
}
public static void main (string [] args) {
Inteiro [] Array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
List <Teger> list = Arrays.asList (Array);
Pager <Teger> pager = pager.create (lista, 10);
Lista <Teger> página1 = pager.getPagedList (1);
System.out.println (página1);
Lista <Teger> página2 = pager.getPagedList (2);
System.out.println (página2);
Lista <Teger> página3 = pager.getPagedList (3);
System.out.println (página3);
}
}
Este é um pager simples. O princípio é muito simples. Os dados consultados do banco de dados são transmitidos para o pager e o retorno é uma coleção de páginas divididas.
A vantagem é que é compatível com todos os bancos de dados JDBC, a desvantagem é que esse método não é adequado para grandes lotes de dados.
O exposto acima é tudo sobre este artigo, espero que seja útil para o aprendizado de todos.