java分页计算

java仿google的分页算法

1.现将数据从数据库读取出来封装一个java类中,在java类中计算
 
public class Page {

    //成员变量
   
    //当前页
   private int nowpage;
    //总记录数
   private int countrecord;
    //总页数
   private int countpage;
    // 当前页记录开始的位置
   private int pageindex;
    // 每页显示的记录数
   public static final int PAGESIZE = 5;
    // 索引的sum值 代表的是 google页面中最大显示页数
   private int sumindex = 6;
    // 开始的索引值
   private int startindex;
    // 结束的索引值
   private int endindex;
    //当前页信息
   private List allentities;

    //构造器
   public Page() {
   }
   public Page(int countrecord, int nowpage) {
      // 计算当前页
      this.nowpage = nowpage;
      // 计算出当前页开始的位置
      this.pageindex = (nowpage - 1) * PAGESIZE;
      // 计算总页数
      this.countrecord = countrecord;
      if (this.countrecord % this.PAGESIZE == 0) {
       this.countpage = this.countrecord / this.PAGESIZE;
      } else {
       this.countpage = this.countrecord / this.PAGESIZE + 1;
      }

      //计算开始和结束的索引值
        //当当前页小于等于四时开始的索引值等于一,而结束的索引值分两种情况
      if (this.nowpage <= 4) {
          this.startindex = 1;
          if (this.endindex > this.countpage) {
              this.endindex = this.countpage;
           }
             this.endindex = this.nowpage + 2;
      }
         // 当当前页大于四时开始的索引值和结束的索引值均分三种情况
        else if (this.nowpage > 4) {
             if (this.endindex > this.countpage&& this.countpage < this.sumindex) {
                  this.startindex = 1;
              this.endindex = this.countpage;
          }
          else if (this.countpage > this.sumindex) {
              this.startindex = this.countpage - 5;
                  this.endindex = this.countpage;
          }
             else{
                 this.startindex = this.nowpage - 3;
              this.endindex = this.nowpage + 2;
             }
       }
    }
     //省略成员变量的get和set方法

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值