• java分页之假分页


    假分页,顾名思义,不是真正的在数据库里进行过滤,而是从数据库查询之后,取得全部结果,在展现的时候做些手脚。

    1. import java.util.ArrayList;  
    2. import java.util.List;  
    3.   
    4. public class Pager {  
    5.       
    6.     /** 
    7.      * 当前页码 
    8.      */  
    9.     private int currentPage;  
    10.     /** 
    11.      * 总页数 
    12.      */  
    13.     private int totalPage;  
    14.     /** 
    15.      * 总行数 
    16.      */  
    17.     private int totalRows;  
    18.     /** 
    19.      * 每页显示条数 
    20.      */  
    21.     private int avgRows = 5;  
    22.     /** 
    23.      * 原集合 
    24.      */  
    25.     private List list;  
    26.   
    27.     public Pager() {  
    28.         super();  
    29.     }  
    30.       
    31.     public Pager(int currentPage, int avgRows, List list) {  
    32.         super();  
    33.         this.currentPage = currentPage;  
    34.         this.avgRows = avgRows;  
    35.         this.list = list;  
    36.         this.totalRows = list.size();  
    37.         this.totalPage = (this.totalRows - 1) / this.avgRows + 1;  
    38.     }  
    39.   
    40.     public List getPagerList() {  
    41.         List newList = new ArrayList();  
    42.         for(int i = (currentPage - 1) * avgRows; i < totalRows && i < currentPage * avgRows; i++) {  
    43.             newList.add(list.get(i));  
    44.         }  
    45.         return newList;  
    46.     }  
    47.       
    48.     public int getCurrentPage() {  
    49.         return currentPage;  
    50.     }  
    51.     public void setCurrentPage(int currentPage) {  
    52.         this.currentPage = currentPage;  
    53.     }  
    54.     public int getTotalPage() {  
    55.         return totalPage;  
    56.     }  
    57.     public void setTotalPage(int totalPage) {  
    58.         this.totalPage = totalPage;  
    59.     }  
    60.     public int getAvgRows() {  
    61.         return avgRows;  
    62.     }  
    63.     public void setAvgRows(int avgRows) {  
    64.         this.avgRows = avgRows;  
    65.     }  
    66.   
    67.     public int getTotalRows() {  
    68.         return totalRows;  
    69.     }  
    70.   
    71.     public void setTotalRows(int totalRows) {  
    72.         this.totalRows = totalRows;  
    73.     }  
    74.   
    75.     public List getList() {  
    76.         return list;  
    77.     }  
    78.   
    79.     public void setList(List list) {  
    80.         this.list = list;  
    81.     }  
    82.   
    83. }  

    这是一个简单的分页器,原理很简单,将从数据库查询的数据,传入到分页器里,返回的是分好页的集合。 

    这种方法不适用于大批量数据。

    原文地址:http://www.cnblogs.com/ghsau/archive/2012/02/08/2768571.html

  • 相关阅读:
    Node Sass could not find a binding for your current environment : Node.js 8.x -SpiritMark
    SpringBoot从入门到精通教程(八)
    注解 @CrossOrigin
    出现VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录以及访问所有临时文件目录。 未能将管道连接到虚拟机: 所有的管道范例都在使用中。
    说一下 JSP 的 4 种作用域?
    jsp有哪些内置对象?作用分别是什么?
    MVC的各个部分都有那些技术来实现?如何实现?
    你所了解的的软件测试类型都有哪些,简单介绍一下。
    你的测试职业发展目标是什么?
    您认为做好测试用例设计工作的关键是什么?
  • 原文地址:https://www.cnblogs.com/zhxn/p/6944480.html
Copyright © 2020-2023  润新知