简单的分页封装(二)
2015-06-03 16:28
134 查看
1.BaseQuery里面封装了分页查询条件,分页的数目,页码
2.分页的dao层
3.分页的业务层
4.分页的控制层
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"; }
相关文章推荐
- CentOS中设置.so链接文件路径
- 【转载】TableLayout表格布局详解
- 【每日scrum】NO.6
- Ubuntu14.04 LTS安装 OpenCV-3.0.0-rc1 + QT5.4.1
- SAT阅读真题资料10
- Tiny6410 && ubuntu 14.04 运行qt程序
- 我曾经写过这么牛逼的存储过程呢?
- Java 7 prevents FTP transfers on Windows Vista and 7 if firewall is on
- 【Android笔记】引用第三方自定义控件出错:Tip: Use View.isInEditMode() in your custom views to skip code when shown in Eclipse
- 课程改进意见
- mysql的tmp_table_size和max_heap_table_size
- (总结)Nginx配置文件nginx.conf中文详解
- 【参数】DB_nK_CACHE_SIZE参数设置与数据库默认块大小之间的限制
- LogLogic/Chuvakin Log Checklist
- 移动Web手册
- NSDictionary等基本类型的使用方法
- js动态创建及移除div的方法
- 黑马程序员-IO字节流的基础应用。。整个IO的分析(字符流和字节流的选择,转换)
- 设置圆角。边框 和 阴影
- jquery ui datepicker中文显示