zoukankan      html  css  js  c++  java
  • 一个java分页的工具类

    上代码

    package com.elan.ffoodcrm.erpapi.basis.entity;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * @author zw
     * @Description: (介绍)
     * @date
     **/
    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 == pageNo || pageNo < 0)
                this.pageNo = 1;
                //如果当前页码数>总页码数    就让 当前页码数 等于 最大页码数
            else if (pageNo > this.totalPage && this.totalPage> 0)
                this.pageNo = this.totalPage;
                //都符合条件 就让 当前页码数 等于 传入的页码数
            else
                this.pageNo = pageNo;
        }
    
    
    }

    使用

    /**
         * 商品信息
         * @param page 当前页 
         * @param Number 每页分的行数
         * @return
         */
    public List<CommoditiesBean> getGoods(Integer page, Integer Number) {
            //得到表中的行数
            int Commod = informationService.getGoodsCount(); 
            //创建工具类对象
            PageBean<CommoditiesBean> pager = new PageBean<>(); 
            //每页显示的行数
            pager.setPageSize(Number);
            //设置总行数
            pager.setRows(Commod); 
            //当前页数
            pager.setPageNo(page); 
            //mysql获取分页第一个参数    (pager.getPageNo() - 1) * pager.getPageSize();
            //获取分页第一个参数
            int first = (pager.getPageNo() - 1) * pager.getPageSize() + 1; 
            //调用service层将分页的两个参数传递过去
            List<CommoditiesBean> commoditiesBeans = informationService.getGoods(first, pager.getPageSize());
            //将的到的对象放到PagerBean类里
            pager.setLists(commoditiesBeans);
    
            return pager.getLists();
        }
  • 相关阅读:
    《将博客搬至CSDN》
    选课系统
    ATM_购物车
    python基础 面向对象编程
    python 基础 模块
    python基础 函数基础 模块:总复习
    第三篇:操作系统基础
    浅谈红黑树
    浅谈B和B+树
    第二篇:网络基础
  • 原文地址:https://www.cnblogs.com/znht/p/11685766.html
Copyright © 2011-2022 走看看