zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    jquery多次上传同一张图片
    选中没有选中的复选框,匹配含有某个字符串的正则,json取值的两种方法,把变量定义在外面跟里面的区别
    点击div全选中再点击取消全选div里面的文字
    this指向问题
    js的querySelector跟querySelectorAll
    点击下箭头⤵️变上箭头⬆️来回切换的两种方法
    a标签的href值
    padding下中英文左右两端对齐
    map()函数
    设计模式
  • 原文地址:https://www.cnblogs.com/zhxn/p/6944480.html
Copyright © 2011-2022 走看看