PageBean分页工具类

       在开发中有时需要将数据库中的数据显示到页面中,数据中的数据又比较多,使用一页是显示不了的。此时需要在数据库中分页查询,然后分页显示在页面中。如果使用一个通用的分页工具类,会比较方便。只需在创建该类时传入每页显示的行数总行数(数据库中的数据总行数),以及当前页码。就可以求出总页数,并且对传入的页码数进行判断。

PageBean分页工具类

package com.book.Until;

import java.util.List;

/**
 * 分页工具类  泛型类
 * @param <T>
 */
public class PageBean<T> {
    private List<T> lists;// 存放  需要显示的 实体类数据
    private Integer pageNo = 1;// 当前页码数(默认给1)
    private Integer pageSize; // 每页显示的行数
    private Integer totalPage;// 总页数
    private Integer rows;// 总行数

    //对私有属性的封装    
    // 不需要对外提供totalPage总页数的set方法   因为totalPage是根据  总行数  和  每页显示的行数求出来的 
    public List<T> getLists() {
        return lists;
    }
    public void setLists(List<T> lists) {
        this.lists = lists;
    }
    public Integer getPageNo() {
        return pageNo;
    }
    public Integer getPageSize() {
        return pageSize;
    }
    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }
    public Integer getTotalPage() {
        return totalPage;
    }
    public Integer getRows() {
        return rows;
    }

    //设置有行数据 并求出页数
    public void setRows(Integer rows) {
        this.rows = rows;
        //页数      根据传入的 总行数 以及 每页显示的行数 求出总页数
        this.totalPage=rows % pageSize==0 ? rows/pageSize : (rows/pageSize+1);
    }
    //设置页码
    public void setPageNo(Integer pageNo) {
        //如果传入的页码为空 或者小于0  就默认给 1
        if (null == this.pageNo || this.pageNo < 0)
            this.pageNo = 1;
        //如果当前页码数>总页码数    就让 当前页码数 等于 最大页码数
        else if (this.pageNo > this.totalPage && this.pageNo > 0)
            this.pageNo = this.totalPage;
        //都符合条件 就让 当前页码数 等于 传入的页码数
        else
            this.pageNo = pageNo;
    }
}

简单的分页工具就完成了!

分页工具的使用


PS:在上图只需要关注步骤和其中一些方法的作用即可。至于方法以及参数,不需要太过深究。结果都是通过用户层传过来的数据,调用dao层的方法来实现数据访的,最后将数据返还给用户。根据自己的需求而定。


       每日鸡汤:你所看到的就是最合理的安排,不必忿忿不平,不用念念不忘,不需斤斤计较!

Over!


猜你喜欢

转载自blog.csdn.net/chianz632/article/details/80792910
今日推荐