知识大全 Hibernate分页的设计和编码

Posted

篇首语:春衣少年当酒歌,起舞四顾以笑和。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Hibernate分页的设计和编码相关的知识,希望对你有一定的参考价值。

Hibernate分页的设计和编码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   当前页码的表单参数 listuser do?page=

  同时转换成一个 int 类型的页码变量

  int currentPage = Integer parseInt(

  request getParameter( page ) // 当前页

   下一页 listuser do?page=$currentPage+

  上一页 listuser do?page=$currentPage

   一页显示多少数据

  int pageSize = ;//每页显示的数据数

   总页数 totalPage

   ) 先从数据库取得总记录数

  dao UserDAO#getUserTotalCount()

  int totalCount = executeQuery( select count(*) from Users )

   ) 根据一页的数据类计算出总页数

  dao UserManager#getTotalPage(int pageSize)

  // 得到页面总数

  int totalPageCount = ((totalCount + pageSize) ) / pageSize;

  if(totalPageCount == )

  totalPageCount = ;

  

   从数据库里把第currentPage页的数据读取出来(Hibernate) DAO 层的代码

  dao UserDAO#findPagedAll(int currentPage int pageSize)

  两个参数 currentPage 当前页(从 开始的)

  pageSize 取多少数据

  String queryString = from User ;

  Query queryObject = getSession() createQuery(queryString)

  queryObject setFirstResult((currentPage ) * pageSize)

  queryObject setMaxResults(pageSize)

  List result = queryObject list()

  时间

   在前台显示上下页的链接 并根据总页数的上下限来避免让用户跳到第 页或者比最大页数还大的页码哪里

  <c:if test= $currentPage > >

  [ 上一页的链接 ]

  </c:if>

  <c:if test= $currentPage <= >

  [ 上一页的文本 ]

  </c:if>

   通过 forEach 来显示数据

  <c:forEach items= $users var= user >

  $user id

  $user username

  <c:/forEach>

   通过下拉菜单来跳转页面

  转到

  <script>

  // 页面跳转函数

  // 参数 包含网址的选择框(SELECT元素)

  function jumpPage(select)

  var newUrl = /hibernate_page/index jsp?page= + select value;

  //alert(newUrl)

  document location = newUrl;

  

  </script>

  <! 输出 HTML SELECT 元素 并选中当前页面编码 >

  <select onchange= jumpPage(this) >

  <option value= selected> 页</option>

  <option value= > 页</option>

cha138/Article/program/Java/ky/201311/28622

相关参考