分页查询

//PageUtil.java
public class PageUtil {
	
	/**
	 * PO分页查询,分页信息设置(排序)
	 * @param page Page分页对象
	 * @param start 从第几条开始
	 * @param row 每页条数
	 * @param sortorder 排序规则,升序还是降序
	 * @param sortfield 排序列
	 * @param defaultField 默认排序列
	 */
	@SuppressWarnings("rawtypes")
	public static void pageSplit(Page page, String start, String row, String sortorder, String sortfield, String defaultField){
		
		//分页信息
		if (StringUtils.isNotBlank(start)){
			page.setStart(Integer.valueOf(start));
		}
		if (StringUtils.isNotBlank(row)){
			page.setPagesize(Integer.valueOf(row));
		}
		
		//排序信息
		Map<String, String> order = new HashMap<String, String>();
		QueryParam param = new QueryParam();
		if(page != null && page.getParam() != null){
			param = page.getParam();
			if(page.getParam().getOrder() != null){
				order = page.getParam().getOrder();
			}
		}
		
		if (StringUtils.isNotBlank(sortfield)){
			if (StringUtils.isNotBlank(sortorder)){
				order.put(sortfield, sortorder);
			}else{
				order.put(sortfield , "desc");
			}
		}else if(StringUtils.isNotBlank(defaultField)){
			if (StringUtils.isNotBlank(sortorder)){
				order.put(defaultField, sortorder);
			}else{
				order.put(defaultField, "desc");
			}
		}
		param.setOrder(order);
		page.setParam(param);
		
	}
</pre><pre name="code" class="java"><pre name="code" class="java">	/**
	 * 将Page对象的分页信息设置到PageVO中
	 * @param page
	 * @param pageVo
	 */
	@SuppressWarnings("rawtypes")
	public static void pageVOSplit(Page page, PageVO pageVo){
		if (page.getPagesize() > 0) {
			pageVo.setPage(page.getStart() / page.getPagesize() + 1);
			if(page.getTotal()%page.getPagesize()==0){
				pageVo.setTotalPages(page.getTotal()/page.getPagesize());
			}else{
				pageVo.setTotalPages(page.getTotal()/page.getPagesize()+1);
			}		
		} else {
			pageVo.setPage(1); 
			pageVo.setTotalPages(1);
		}
		pageVo.setRow(page.getPagesize());
		pageVo.setTotal(page.getTotal());
	}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值