




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.Pager类 分页公共类功能:Pager类用于计算首页、前一页、下一页、尾页的在数据库中的起始行,当前的页码。package com.jpcf.db.helper;import java.math.*;public class Pager private int totalRows; /总行数 private int pageSize = 10; /每页显示的行数 private int currentPage; /当前页号 private int totalPages; /总页数 private int startRow; /当前页在数据库中的起始行 public Pager() public Pager(int _totalRows) totalRows = _totalRows; totalPages=totalRows/pageSize; int mod=totalRows%pageSize; if(mod0) totalPages+; currentPage = 1; startRow = 0; public int getStartRow() return startRow; public int getTotalPages() return totalPages; public int getCurrentPage() return currentPage; public int getPageSize() return pageSize; public void setTotalRows(int totalRows) this.totalRows = totalRows; public void setStartRow(int startRow) this.startRow = startRow; public void setTotalPages(int totalPages) this.totalPages = totalPages; public void setCurrentPage(int currentPage) this.currentPage = currentPage; public void setPageSize(int pageSize) this.pageSize = pageSize; public int getTotalRows() return totalRows; public void first() /首页 currentPage = 1; startRow = 0; public void previous() /上一页 if (currentPage = 1) return; currentPage-; startRow = (currentPage - 1) * pageSize; public void next() /下一页 if (currentPage totalPages) last(); 2.PagerHelp类 功能:PageHelper这个类,用于从页面上取得参数进行相应的业务逻辑处理package com.jpcf.db.helper;import javax.servlet.http.*;public class PagerHelper public static Pager getPager(HttpServletRequest httpServletRequest, int totalRows) /定义pager对象,用于传到页面 Pager pager = new Pager(totalRows); /从Request对象中获取当前页号 String currentPage=httpServletRequest.getParameter(currentPage); /如果当前页号为空,表示为首次查询该页 /如果不为空,则刷新pager对象,输入当前页号等信息 if (currentPage != null) pager.refresh(Integer.parseInt(currentPage); /获取当前执行的方法,首页,前一页,后一页,尾页。 String pagerMethod = httpServletRequest.getParameter(pageMethod); if (pagerMethod != null) if (pagerMethod.equals(first) pager.first(); elseif (pagerMethod.equals(previous)pager.previous(); else if (pagerMethod.equals(next)pager.next(); else if (pagerMethod.equals(last) pager.last();return pager; 3.部门DAO类中的方法 功能说明:利用hibernate中的 setFirstResult(parma)和.setMaxResults(parma)进行分页上线和下线的约束 /* * param pageSize 每页显示几条数据; * param startRow 从数据库哪条数据开始显示 */public List findWithPage(int startRow,int pageSize) List list = null;try list=getSession().createQuery(from Users).setFirstResult(startRow).setMaxResults(pageSize).list();System.out.println(list); catch (RuntimeException re) throw re ;return list;/* * 统计数据库中的记录 */public int getRows() int totalRows = 0;try getSession().getTransaction().begin();/查询语句select count(*) from VehicleProperty 也可以换成你需要的任意的条件(select count(*) from VehicleProperty where .)long number= (Long)getSession().createQuery(select count(*) from VehicleProperty).uniqueResult();totalRows=(int)number;getSession().getTransaction().commit(); catch (RuntimeException re) re.printStackTrace();getSession().getTransaction().rollback();throw re;return totalRows;4.Action 下面是在Action中用到的代码: public void findWithPage(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException int totalRows;/记录总行数 totalRows=dao.getRows(); try /通过PagerHelper类来获取用于输出到页面的pager对象 Pager pager=PagerHelper.getPager(request,totalRows); List list=(List)dao.findWithPage( pager.getStartRow(),pager.getPageSize(); request.setAttribute(list, list); request.setAttribute(totalPage, pager.getTotalPages(); request.setAttribute(currentPage, pager.getCurrentPage(); request.getRequestDispatcher(/jsp/view.jsp).forward(request, response); catch (Exception e) e.printStackTrace(); response.sendRedirect(request.getContextPath(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河北沧州任丘园区产业发展集团有限公司招聘工作人员10名模拟试卷及答案详解(典优)
- 2025北京小汤山医院招聘8人(第三批)模拟试卷及参考答案详解
- 2025制造企业员工合同样本
- 2025广西来宾市忻城县政府投资审计中心招聘见习生2人考前自测高频考点模拟试题附答案详解(完整版)
- 拖车服务费合同10篇
- 2025年国防安全知识竞赛题库及答案
- 2025年锅炉操作工考试题库及参考答案解析
- 2025年新疆农作物制种技术培训合同协议
- 2025年贵州公需科目大数据培训考试试题及答案
- 2025年广元公需科目继续教育试题和答案
- 文学类文本阅读2026届高三9月名校模考试分类汇编五
- 2025年9月20日云南省直机关遴选公务员笔试真题及答案解析
- 合同纠纷民事起诉状模板示例
- 2025广东广州市花都区招聘社区专职工作人员50人考试参考题库及答案解析
- 招行ai面试题库大全及答案
- 2025四川蜀道养护集团有限公司招聘15人考试参考题库及答案解析
- 2025年秋季上饶银行招聘考试参考题库及答案解析
- 2025至2030中国汽车模塑件行业项目调研及市场前景预测评估报告
- 投标服务响应应急方案(3篇)
- 自动控制原理课件第九章状态空间分析法
- 2025年安全工程师《安全生产管理》考前模拟卷(一)
评论
0/150
提交评论