java后台简单分页实现
来源:互联网 发布:知乎 发现 编辑:程序博客网 时间:2024/05/22 05:24
1、写分页的DTO
package pers.weisg.ssm.common.paginated;import java.io.Serializable;import java.util.List;/** * @Description: 分页的DTO * @author WEISANGNG * @date 2017年12月24日 */public class PaginatedDTO implements Serializable {private static final long serialVersionUID = -8574882793247791810L;private long fullListSize = -1L;//总记录数private List<Object> pageList = null;//集合列表信息private int pageSize = -1;//每页显示记录数private int pageNumber = -1;//当前页数@SuppressWarnings("unused")private int startRowNum = -1;//查询开始行号@SuppressWarnings("unused")private int endRowNum = -1;//查询结束行号public long getFullListSize() {return fullListSize;}public void setFullListSize(long fullListSize) {this.fullListSize = fullListSize;}public List<Object> getPageList() {return pageList;}public void setPageList(List<Object> pageList) {this.pageList = pageList;}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;}}
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";//记录总数/** * @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());return pager; }}
3、简单分页的使用
1) 在Service先查出总记录数
2)根据当前页数、每页设置的记录大小获取到对应的开始查询记录行号、结束行号
3)选用sql的分页查询查出当前分页条件的记录数
阅读全文