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

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

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

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

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

java分页之假分页的更多相关文章

  1. Jsp分页实例---假分页

    今天总结一个JSP假分页的实例,由基本功能由js实现. 相较前一篇真分页中程序的功能,丰富了一些.具备首页尾页,和页面跳转功能. 首先还是来总结一下真假分页的优缺点和特性吧. 假分页:从数据库中取出所 ...

  2. jsp 假分页的实现

    原本做毕设做了一堆表格需要读出数据.为了以后的数据可能会很多做准备,这里实现一个以基于jsp页面实现的假分页. 假分页:实际上数据库一次过把所有数据读出来,通过对输出展示的控制来实现对数据分页的假象. ...

  3. 菜鸟学Java(十)——分页查询

    今天继续跟大家说说一些非常基础的东西,这次我们说说分页查询.说到分页,可能很多人都听说过什么真分页.假分页的.简单解释一下,拿第二页,每页20条为例:真分:数据库里取 的就是21-40条:假分:数据库 ...

  4. ASP.NET(四):ASP.net实现假分页显示数据

    导读:在做数据查询的时候,有的时候查询到的数据有很多.通常呢,我们一般都是去拖动右侧边的滚动条.但是,有了分页后,我们就可以不必是使用滚动条,而直接通过分页查看我们想要的数据.在分页的过程中,有分为真 ...

  5. easyUI datagrid 前端假分页

    datagrid有两种分页方式,真分页和假分页. 所谓真分页,就是真的每次只获取一张分页的数据. 所谓假分页,就是将所有数据全部获取下来,然后利用其分页控件进行分页. 下面具体说说假分页: 1.dat ...

  6. Jsp分页实例---真分页

    网页的分页功能的实现比较简单,实现方法也多种多样. 今天总结一个简单的Jsp真分页实例. 首先,提到分页就要先明确一个概念,何为真分页何谓假分页. 假分页:一次性从数据库读出表的所有数据一次性的返回给 ...

  7. pagebean pagetag java 后台代码实现分页 demo 前台标签分页 后台java分页

    java 后台代码实现分页 demo 实力 自己写的 标签分页 package com.cszoc.sockstore.util; import java.util.HashMap;import ja ...

  8. 基于jquery 的分页插件,前端实现假分页效果

    上次分享了一款jquery插件,现在依旧分享这个插件,不过上一次分享主要是用于regular框件,且每一页数据都是从后端获取过来的,这一次的分享主要是讲一次性获取完数据 然后手动进行分页.此需求基本上 ...

  9. jsp假分页

    假分页:从数据库中取出所有的数据,然后分页在界面上显示.访问一次数据库,但由于选择的数据量比较大,所以第一次花费时间比较长,但之后每一页的显示都是直接.快速的,避免对数据库的多次访问. 真分页:确定要 ...

随机推荐

  1. JavaScript之Ajax技术

  2. selenium+java解决富文本输入

    方法一: Actions actions = new Actions(driver); actions.sendKeys(Keys.TAB).perform(); //鼠标通过tab要先移到富文本框中 ...

  3. Java泛型(一):入门、原理、使用

    远在 JDK 1.4 版本的时候,那时候是没有泛型的概念的.当时 Java 程序员们写集合类的代码都是类似于下面这样: List list = new ArrayList(); list.add(&q ...

  4. JDBC 具体解释(1)

    JDBC 具体解释(1)         在以java application server应用为主的平台是,JDBC的最高级应用是DataSource的实现,其他的JDO,webcache,hibe ...

  5. 《生活在Linux中》之:在Bash的Emacs模式中使用Vim

    export EDITOR=vim ctrl-x ctrl-e

  6. 1、libgdx简单介绍

    Libgdx 是一个跨平台和可视化的的开发框架.它当前支持Windows.Linux,Mac OS X.Android,IOS和HTML5作为目标平台. Libgdx同意你一次编写代码不经改动部署到多 ...

  7. ES 處於“initializing”狀態,此時主節點正在嘗試將分片分配到集群中的數據節點。 如果您看到分片仍處於初始化或未分配狀態太長時間,則可能是您的集群不穩定的警告信號。

    指標要點: Cluster status: 如果集群狀態為黃色,則至少有一個副本分片未分配或丟失. 搜索結果仍將完成,但如果更多的分片消失,您可能會丟失數據. 紅色的群集狀態表示至少有一個主分片丟失, ...

  8. 用户命令切换-命令su

    命令su格式为su [-] username su su - su test su root

  9. github结合TortoiseGit使用sshkey,无需每次输入账号和密码

    首先需要明确,github上支持三种方式进行项目的clone    https,ssh,subversion ssh的方式 git@github.com:用户名/版本库t.git            ...

  10. JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some、for in、for of

    JavaScript中有非常多数组迭代方法,这里基本上吧所有的都介绍全了,我项目中比较喜欢的是forEach. 7.for in (for-in循环实际是为循环对象而设计的,for in也可以循环数组 ...