博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate分页
阅读量:4705 次
发布时间:2019-06-10

本文共 2484 字,大约阅读时间需要 8 分钟。

1.概述

     在web项目中,经常需要将数据库中的信息显示在页面当中,当数据库中的信息过多的时候就需要采取分页显示的方法,在不同的数据库中实现分页的方法也各不相同。hibernate提供了一个支持不同数据库的分页机制,这样一来无论底层使用什么样的数据库,都可以利用统一的接口进行分页操作。

 

2.技术要点

     本实例在实现hibernate分页的时候主要hibernate中的Query对象,通过setFirstResult()方法设置起始记录的位置,通过setMaxResults()方法设置要查询记录的条数,最后再通过list()方法获取查询到的数据。

 

3.具体实现

(1)下载hibernate工具包,并将其导入到项目当中。hibernate工具包可以在其官方网站(http://www.hibernate.org)中下载。

(2)编写配置文件hibernate.cfg.xml与类文件HibernateSessionFactory.java。

(3)本实例使用的是MySQL数据库,数据库用户名是root,密码是111。数据库名称是db_database04,数据表是tb_employeeinfo。

(4)编写持久化类Employeeinfo.java和与其对应的映射文件Employeeinfo.hbm.xml。

(5)在hibernate.cfg.xml文件中配置映射文件,在<session-factory>元素中加入如下代码:

(6)编写show.jsp文件,用于获取Query对象,对数据库进行查询操作,关键代码如下所示:

list = q.list(); //执行查询,获取结果 hSession.close(); //关闭对象,释放资源 for (int i = 0; i < list.size(); i++) { Employeeinfo e = list.get(i); %>
<% int cPage =1; if(request.getParameter("cPage")!=null&&!"".equals(request.getParameter("cPage"))){ cPage = Integer.parseInt(request.getParameter("cPage")); //获取要查询的页数 } int sum = 3; //每页记录的条数 Session hSession = HibernateSessionFactory.getSession(); //创建session对象 Query q = hSession.createQuery("select count(*) from Employeeinfo"); //创建 query对象 Object o = q.uniqueResult(); //获取唯一的结果 int count = (int) Math.ceil(Double.valueOf(o.toString()) / (double) sum); //计算出总页数 q = hSession.createQuery("from Employeeinfo"); //创建查询对象 q.setFirstResult((cPage - 1) * sum); //输入起始的记录数 q.setMaxResults(sum); List
<% } %>
编号 姓名 姓别 年龄 电话 地址
<%=e.getId()%> <%=e.getName()%> <%=e.getSex()%> <%=e.getAge()%> <%=e.getTel()%> <%=e.getAddr()%>
<%=cPage <= 1 ? "" : "
上一页"%>当前第<%=cPage%>页<%=cPage >= count ? "" : "
下一页"%>共<%=count%>页

 

转载于:https://www.cnblogs.com/zkn11199/p/5581809.html

你可能感兴趣的文章
Oracle学习之常见错误整理
查看>>
数据库插入数据乱码问题
查看>>
【转】IT名企面试:微软笔试题(1)
查看>>
IO流入门-第十章-DataInputStream_DataOutputStream
查看>>
DRF的分页
查看>>
Mysql 模糊匹配(字符串str中是否包含子字符串substr)
查看>>
python:open/文件操作
查看>>
流程控制 Day06
查看>>
Linux下安装Tomcat
查看>>
windows live writer 2012 0x80070643
查看>>
tomcat 和MySQL的安装
查看>>
git常用操作
查看>>
京东SSO单点登陆实现分析
查看>>
u-boot启动第一阶段
查看>>
MySQL批量SQL插入性能优化
查看>>
定义列属性:null,default,PK,auto_increment
查看>>
用户画像展示
查看>>
C#中StreamReader读取中文出现乱码
查看>>
使用BufferedReader的时候出现的问题
查看>>
批处理文件中的路径问题
查看>>