简单的分页封装(二)

来源:互联网 发布:印刷erp软件 编辑:程序博客网 时间:2024/04/28 18:40

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";}



0 0
原创粉丝点击