java后台简单分页实现

1、写分页的DTO

package pers.weisg.ssm.common.paginated;

import java.io.Serializable;

/** 
 * @Description: 分页的DTO
 * @author WEISANGNG   
 * @date 2017年12月24日   
 */
public class PaginatedDTO implements Serializable {

	private static final long serialVersionUID = -8574882793247791810L;
	
	private long fullListSize = -1L;//总记录数
	private int pageSize = -1;//每页显示记录数
	private int pageNumber = -1;//当前页数
	@SuppressWarnings("unused")
	private int startRowNum = -1;//查询开始行号
	@SuppressWarnings("unused")
	private int endRowNum = -1;//查询结束行号
	private int totalPage;//总页数
	public long getFullListSize() {
		return fullListSize;
	}
	public void setFullListSize(long fullListSize) {
		this.fullListSize = fullListSize;
	}
	public int getPageSize() {
		return pageSize;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	public int getPageNumber() {
		return pageNumber;
	}
	public void setPageNumber(int pageNumber) {
		this.pageNumber = pageNumber;
	}
	public int getStartRowNum() {
		return this.pageSize * (this.pageNumber - 1);
	}
	public void setStartRowNum(int startRowNum) {
		this.startRowNum = startRowNum;
	}
	public int getEndRowNum() {
		return this.pageSize * this.pageNumber;
	}
	public void setEndRowNum(int endRowNum) {
		this.endRowNum = endRowNum;
	}
	public int getTotalPage() {
		return totalPage;
	}
	public void setTotalPage(int totalPage) {
		this.totalPage = totalPage;
	}
}

2、分页的简单工具类

package pers.weisg.ssm.common.paginated;

import java.util.HashMap;
import java.util.Map;

/** 
 * @Description:分页工具类
 * @author WEISANGNG   
 * @date 2017年12月24日   
 */
public class PaginatedUtil {

	private static final String PAGE_NUM="pageNum";//当前页数
	private static final String PAGE_SIZE="pageSize";//每页显示的数量
	private static final String TOTAL_COUNT="totalCount";//记录总数
	private static final String TOTAL_PAGE="totalPage";//总页数
	
	/**
	 * @Description:组装分页查询使用的DTO
	 * @param currentPage
	 * @param pageSize
	 * @return PaginatedDTO
	 * @author WEISANGNG
	 * @date 2017年12月24日
	 */
	public static PaginatedDTO getPaginatedDTO(int currentPage,int pageSize){    	
    	PaginatedDTO page =new PaginatedDTO();
		page.setPageSize(pageSize);;
		page.setPageNumber(currentPage);
		return page;
    }
	
	/**
	 * @Description:组装分页显示的MAP
	 * @param paginatedDTO
	 * @return Map<String,Object>
	 * @author WEISANGNG
	 * @date 2017年12月24日
	 */
	public static Map<String,Object> getPaginatedMap(PaginatedDTO paginatedDTO){
    	Map<String,Object> pager =new HashMap<String,Object>();    	
        pager.put(PAGE_NUM, paginatedDTO.getPageNumber());
        pager.put(PAGE_SIZE, paginatedDTO.getPageSize());
        pager.put(TOTAL_COUNT, paginatedDTO.getFullListSize());
        pager.put(TOTAL_PAGE, paginatedDTO.getTotalPage());
		return pager;
    }
}


3、简单分页的使用

1) 在Service先查出总记录数

2)根据当前页数、每页设置的记录大小获取到对应的开始查询记录行号、结束行号

3)选用sql的分页查询查出当前分页条件的记录数



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值