ssh分页通用参考

上传人:第*** 文档编号:34611284 上传时间:2018-02-26 格式:DOC 页数:13 大小:80.50KB
返回 下载 相关 举报
ssh分页通用参考_第1页
第1页 / 共13页
ssh分页通用参考_第2页
第2页 / 共13页
ssh分页通用参考_第3页
第3页 / 共13页
ssh分页通用参考_第4页
第4页 / 共13页
ssh分页通用参考_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《ssh分页通用参考》由会员分享,可在线阅读,更多相关《ssh分页通用参考(13页珍藏版)》请在金锄头文库上搜索。

1、SSH 分页通用参考(长洲第一恶人)内容:基于 struts+hibernate+spring 的一个分页显示的通用参考方案。版本:Struts2.3,Hibernate4.1,Spring3.1说明:(1 )上传日期为 2012/8/24,相当目前而言,其版本是较新的。正因为版本较新,所以一些代码并不如网上搜索到的那样。举例:在 Hibernate4.1 中,没有了 hibernateTemplate 接口,尽管在 spring3.1 的包里仍可以用 hibernate3 的此接口,但从版本统一的角度考虑,程序中也不能使用。(2 )本程序前面一半并不是本人原创,也是参考了网上资料。(3 )本

2、程序仅供参考,如有更好的,望能共同交流。(4 )本程序相关文件清单:1、 PagingDAO.java2、 PagingDAOImpl.java3、 PageBean.java4、 PagingService.java5、 PagingServiceImpl.java6、 UserinfoControl.java7、 struts.xml8、 applicationContext.xml9、 userinfoShowPaging.jsp10、 pagingInclude.jsp其中第 1、2 、3 、4、5、10 是主要文档,第 7、8 是配置文档,第 6、9 是应用文档。文件详单:1、 Pa

3、gingDAO.javapackage cn.office.DAO;import java.util.List;public interface PagingDAO /* */* 分页查询* param hql 查询的条件* param beginset 开始记录* param length 一次查询几条记录* return*/public List queryForPage(final String hql,final int beginset,final int length);/* */* 查询所有记录数 * param hql 查询的条件* return 总记录数*/public in

4、t getAllRowCount(String hql);2、 PagingDAOImpl.javapackage cn.office.DAO;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;public class PagingDAOImpl implements PagingDAOprivate SessionFactory sessionFactory;public SessionFactory getSess

5、ionFactory()return sessionFactory;public void setSessionFactory(SessionFactory sessionFactory)this.sessionFactory=sessionFactory;public Session getSession() /事务必须是开启的,否则获取不到return sessionFactory.getCurrentSession();/分页查询public List queryForPage(final String hql,final int beginset,final int length)Se

6、ssion session=sessionFactory.getCurrentSession();session.beginTransaction();Query query = session.createQuery(hql);/query.setParameter(username,userpwd.getUsername();query.setFirstResult(beginset);query.setMaxResults(length);List list = query.list();session.getTransaction().commit();return list;/查询所

7、有记录数 public int getAllRowCount(String hql)/return getHibernateTemplate().find(hql).size();Session session=sessionFactory.getCurrentSession();session.beginTransaction();Query query = session.createQuery(hql);/query.setParameter(username,userpwd.getUsername();List list = query.list();session.getTransa

8、ction().commit();return list.size();3、 PageBean.javapackage cn.office.DAO;import java.util.List;public class PageBean private List list; /要返回的某一页的记录列表private List pageList;private int allRow; /总记录数private int totalPage; /总页数private int currentPage; /当前页private int pageSize; /每页记录数private boolean isF

9、irstPage; /是否为第一页private boolean isLastPage; /是否为最后一页private boolean hasPreviousPage; /是否有前一页private boolean hasNextPage; /是否有下一页public List getList() return list;public void setList(List list) this.list = list;public List getPageList() return pageList;public void setPageList(List pageList) this.pag

10、eList = pageList; public int getAllRow() return allRow;public void setAllRow(int allRow) this.allRow = allRow;public int getTotalPage() return totalPage;public void setTotalPage(int totalPage) this.totalPage = totalPage;public int getCurrentPage() return currentPage;public void setCurrentPage(int cu

11、rrentPage) this.currentPage = currentPage;public int getPageSize() return pageSize;public void setPageSize(int pageSize) this.pageSize = pageSize;/初始化分页信息public void init()this.isFirstPage = isFirstPage();this.isLastPage = isLastPage();this.hasPreviousPage = isHasPreviousPage();this.hasNextPage = is

12、HasNextPage();/* */* 以下判断页的信息 ,只需 getter 方法(is 方法)即可* return*/public boolean isFirstPage() return currentPage = 1; / 如是当前页是第 1 页public boolean isLastPage() return currentPage = totalPage; /如果当前页是最后一页 public boolean isHasPreviousPage() return currentPage != 1; /只要当前页不是第 1 页public boolean isHasNextPag

13、e() return currentPage != totalPage; /只要当前页不是最后 1 页/* */* 计算总页数 ,静态方法,供外部直接通过类名调用* param pageSize 每页记录数* param allRow 总记录数* return 总页数*/public static int countTotalPage(final int pageSize,final int allRow)int totalPage = allRow % pageSize = 0 ? allRow/pageSize : allRow/pageSize+1;return totalPage;/*

14、 */* 计算当前页开始记录* param pageSize 每页记录数* param currentPage 当前第几页* return 当前页开始记录号*/public static int countBeginset(final int pageSize,final int currentPage)final int beginset = pageSize*(currentPage-1);return beginset;/* */* 计算当前页 ,若为 0 或者请求的 URL 中没有?page=,则用 1 代替* param page 传入的参数 (可能为空, 即 0,则返回 1)* r

15、eturn 当前页*/public static int countCurrentPage(int page)final int curPage = (page=0?1:page);return curPage;4、 PagingService.javapackage cn.office.DAO;public interface PagingService /* */* 分页查询* param currentPage 当前第几页* param pageSize 每页大小* return 封闭了分页信息(包括记录集 list)的 Bean*/public PageBean queryForPage(String phql,int pageSize,int currentPage);5、 PagingServiceImpl.javapackage cn.office.DAO;import java.util.ArrayList;import java.util.List;public class PagingServiceImpl implements PagingService/通过 applicationContext.xml 配置文件注入 PagingDao 的值pr

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号