您的位置:首页 > 其它

简单的分页封装(二)

2015-06-03 16:28 134 查看
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";
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: