分页查询工具

public class ShopServiceImpl implements ShopService {
    private ShopDao shopDao=new ShopDaoImpl();
    @Override
    public PageUtil<Shop> queryGoods(int currentPage) {
        PageUtil<Shop> pageUtil = new PageUtil<Shop>();
        int totalPage=shopDao.count();
        pageUtil.initParam(totalPage,8,currentPage);
        int startRow=pageUtil.getStartRow();
        List<Shop> shopList = shopDao.queryGoods(startRow, 8);
        return pageUtil;
    }
}
public class PageUtil<T> {
	private int currentPage;   //当前的页数
	private int pageSize;      //每页显示的记录数
	private int startRow;      //每一页开始的条数的下标
	private int totalCount;    //总记录数
	private int totalPage;     //总页数
	private List<T> lists = new ArrayList<T>(); //每页要在页面上显示的数据

	public int getCurrentPage() {  //获得当前页数
		return currentPage;
	}

	public void setCurrentPage(int currentPage) {  //设置用户访问的当前页数
			if (currentPage <= 0) {   //如果当前页数<=0

				currentPage = 1;   //当前的页数从1开始(分页显示数据,只能从第一页开始,不能从第0页,不能从-1 -2...页开始 )

			} else if (currentPage > this.getTotalPage()) {  //如果用户访问的当前页数>总页数

				if (this.getTotalPage() == 0) { //如果总页数=0,说明我们的总记录数为0
					currentPage = 1;  //给用户展示第一页
				} else {
					currentPage = this.getTotalPage();//假设总共有2页,用户访问第3页上的数据,此时系统给用户展示第二页的数据
				}
			}
		this.currentPage = currentPage;
	}

	public int getPageSize() {   //获得每页显示的条数
		return pageSize;
	}

	public void setPageSize(int pageSize) { //设置每页显示的条数
		if (pageSize <= 0) {
			pageSize = 5;
		}
		this.pageSize = pageSize;
	}


	//每一页的开始条数的下标
	public int getStartRow() {
		return (this.getCurrentPage() - 1) * this.getPageSize();
	}


    //获得总记录数
	public int getTotalCount() {
		return totalCount;
	}
	//设置总记录数
	public void setTotalCount(int totalCount) {
		this.totalCount = totalCount;
	}



	//获得总页数
	public int getTotalPage() {
		if (this.getTotalCount() % this.getPageSize() == 0) {
			return this.getTotalCount() / this.getPageSize();
		} else {
			return this.getTotalCount() / this.getPageSize() + 1;
		}

	}


	//获得当前页的数据
	public List<T> getLists() {
		return lists;
	}

	//设置当前页的数据
	public void setLists(List<T> lists) {
		this.lists = lists;
	}


	public void initParam(int count,int pageSize,int currentPage){
		this.setTotalCount(count);
		this.setPageSize(pageSize);
		this.setCurrentPage(currentPage);
	}
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值