简单的分页封装(二)

1.BaseQuery里面封装了分页查询条件,分页的数目,页码

public class BaseQuery implements Serializable{

	private static final long serialVersionUID = 1L;
	//定义常量 每页数
	public final static int DEFAULT_SIZE = 10;
	//每页数
	protected int pageSize = DEFAULT_SIZE;
	//起始行
	protected int startRow;//起始行
	//页码
	protected int pageNo = 1;


	public int getPageNo() {
		return pageNo;
	}
	public void setPageNo(int pageNo) {
		this.pageNo = pageNo;
		this.startRow = (pageNo-1)*this.pageSize;
	}
	public int getPageSize() {
		return pageSize;
	}
	public BaseQuery setPageSize(int pageSize) {
		this.pageSize = pageSize;
		this.startRow = (pageNo-1)*this.pageSize;
		return this;
	}
	public int getStartRow() {
		return startRow;
	}
	public void setStartRow(int startRow) {
		this.startRow = startRow;
	}

}


2.分页的dao层

//获取所有分店商品的总量
	public Integer getCount(){
		String hql="select count(id) from BranchProduct";
		List<Long>counts=this.getHibernateTemplate().find(hql);
		return counts.get(0).intValue();
	}
	//hibernate进行分页查询
	public List<BranchProduct> getBranchProductWithPage(BaseQuery baseQuery) {
		DetachedCriteria criteria = DetachedCriteria.forClass(BranchProduct.class);		
		return this.getHibernateTemplate().findByCriteria(criteria, baseQuery.getStartRow(), baseQuery.getPageSize());
	}	

3.分页的业务层

//获取分页对象
	@Transactional(readOnly = true)
	public Pagination getBranchProductWithPage(BaseQuery baseQuery){
		Pagination pagination=new Pagination(baseQuery.getPageNo(), baseQuery.getPageSize(), dao.getCount());
		//为分页对象注入list数据
		List<BranchProduct>brs = dao.getBranchProductWithPage(baseQuery);
		pagination.setList(brs);
		return pagination;
	}

4.分页的控制层

public String pageList() throws Exception{
		BaseQuery baseQuery=new BaseQuery();
		baseQuery.setPageNo(Pagination.cpn(pageNo));
		baseQuery.setPageSize(pageSize);
		StringBuilder params = new StringBuilder();//分页查询的条件(扩展)
		String url = "";//分页的连接,带原始条件进行查询
		pagination=busi.getBranchProductWithPage(baseQuery);
		pagination.pageView(url, params.toString());
		
		//按照商品的类型进行分类展示
		//list=busi.getBranchProductByType(Constants.ENTITY);
		
		cart=getCartFromCookie();
		//cookie中没有购物车,创建新的购物车
		if(cart==null){
			cart=new Cart();
		}	
		fullCart(cart);
		return "pageList";
	}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值