当前位置:   article > 正文

hibernate框架分页动态学习_hibernate page

hibernate page

/**

*分页的几个步骤

*/


public class Page { 

//总页数
private Integer countPage;

//当前页
private Integer pageIndex;

//每页现实的行数
private final Integer pagesize=4;

//总计录shu
private Integer countNO;
//每页显示的集合

      private List<House> pageList;

//省略封装的代码


/**

*实现类的代码

*利用Page类的属性得到House的每页显示的集合

*/

public List<House> getPageInfo(Page page) {
List<House> list=null;
      Session session=HibernateSessionFactory.getSession();
try {
  list=session.createQuery("from House")
  .setFirstResult((page.getPageIndex()-1)*page.getPagesize())
  .setMaxResults(page.getPagesize())
  .list();
} catch (Exception e) {
// TODO: handle exception
}
finally {
session.close();
System.out.println("关闭session");
}
return list;
}


@Override

   // 得到的是总的记录数
public int count() {
Session session=HibernateSessionFactory.getSession();
Long count=  ((long)session.createQuery("select count(*) From House").uniqueResult());
 int num=count.intValue();
return num ;
}

/**

*servlet的控制代码 从jsp页面传过来的 当前页码pageIndex来控制要显示的是第几页

*/

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
             


response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");

   HttpSession session =request.getSession();
   IHouseBizDao biz=new HousebizDaoImpl();
   
   Page page=new Page();

//从jsp页面传过来的pageIndex,,
 String  pageIndex=request.getParameter("pageIndex");
   if (pageIndex==null) {
    pageIndex="1";
}
   page.setCountNO(biz.count());
   page.setPageIndex(Integer.parseInt(pageIndex));
   List<House>   list= biz.getPageInfo(page);
   page.setPageList(list);
  
   for (House house : list) {
System.out.println(house.getTitle());
}
   session.setAttribute("list",list);
   session.setAttribute("page", page);
   response.sendRedirect("page/list.jsp");
}

//jsp页面省略展示信息的代码    控制页码的上  下页

<%//


Page pa = (Page) session.getAttribute("page");
if(pa==null){

}
int pagett = pa.getPageIndex();
%>


<LI class=current><A href="../HouseServlet?pageIndex=1">首页</A></LI>
<%
if (pagett <= 1) {
pagett = 1;
}
%>
<%
if (pagett > 1) {
%>
<LI><A href="../HouseServlet?pageIndex=<%=pagett - 1%>"><%=pagett - 1%>上一页</A></LI>
<%
}
%>
<%
if (pagett < pa.getCountPage()) {
%>
<LI><A href="../HouseServlet?pageIndex=<%=pagett + 1%>"><%=pagett + 1%>下一页</A></LI>
<%
} else {
pagett = pa.getCountPage();
}
%>
<LI><A href="../HouseServlet?pageIndex=<%=pa.getCountPage()%>">
末页</A></LI>
</UL>
<SPAN class=total>第<%=pagett%>页/总<%=pa.getCountPage()%>页
</SPAN>



声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/529051
推荐阅读
相关标签
  

闽ICP备14008679号