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;
}
}
//获取所有分店商品的总量
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";
}