Hibernate DAO类怎么使用
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,这篇文章主要讲解了"Hibernate DAO类怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Hibernate DAO类怎么使用"吧!在St
千家信息网最后更新 2025年11月16日Hibernate DAO类怎么使用
这篇文章主要讲解了"Hibernate DAO类怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Hibernate DAO类怎么使用"吧!
在Struts分页有两种结构:
1. 在Action中通过DAO查询出所有的记录,然后加到session或request对象中,传到客户端,由JSP进行分页。这种方法对于在数据量少的时候很方便,也不影响速度。
2.在Action中每次通过DAO只查询出一页的记录,再传给JSP页面。这种结构对于数据量大的程序很好,但对于数据量小的情况,会增加对服务器的请求,加大服务器的负载。
1).Hibernate DAO类
package com.jpcf.db.dao; import com.jpcf.db.model.*; import com.jpcf.db.helper.HibernateUtil; import net.sf.hibernate.*; import java.util.*; import com.jpcf.db.controller.*; public class VehiclePropertyDAO { public Collection findWithPage(int pageSize, int startRow) throws HibernateException { Collection vehicleList = null; Transaction tx = null; try { Session session = HibernateUtil.currentSession(); tx = session.beginTransaction(); Query q = session.createQuery("from VehicleProperty vp"); q.setFirstResult(startRow); q.setMaxResults(pageSize); vehicleList = q.list(); tx.commit(); } catch (HibernateException he) { if (tx != null) { tx.rollback(); } throw he; } finally { HibernateUtil.closeSession(); } return vehicleList; } public int getRows(String query) throws HibernateException { int totalRows = 0; Transaction tx = null; try { Session session = HibernateUtil.currentSession(); tx = session.beginTransaction(); totalRows = ((Integer) session.iterate(query).next()). intValue(); tx.commit(); } catch (HibernateException he) { if (tx != null) { tx.rollback(); } throw he; } finally { HibernateUtil.closeSession(); } return totalRows; } }Hibernate DAO类我就贴这些分页需要的代码了。"from VehicleProperty vp"也可以用一个参数传进来,有兴趣的自己改一下吧
2).Action
下面是在Action中用到的代码:
public ActionForward queryWithPage(ActionMapping actionMapping, ActionForm actionForm HttpServletRequest httpServletRequest, HttpServletResponse httpServletresponse) { Collection clInfos = null;//用于输出到页面的记录集合 int totalRows;//记录总行 VehiclePropertyDAO vehicleDAO = new VehiclePropertyDAO(); //取得当前表中的总行数 try { totalRows = vehicleDAO.getRows("select count(*) from VehicleProperty"); } catch (Exception ex) { servlet.log(ex.toString()); return actionMapping.findForward(Constants.FAILURE); } //通过PagerHelper类来获取用于输出到页面的pager对象 Pager pager=PagerHelper.getPager(httpServletRequest,totalRows); //取出从startRow开始的pageSize行记录 try { clInfos = vehicleDAO.findWithPage(pager.getPageSize(), pager.getStartRow()); } catch (Exception ex) { servlet.log(ex.toString()); return actionMapping.findForward(Constants.FAILURE); } //把输出的记录集和pager对象保存到request对象中 httpServletRequest.setAttribute("CLINFOS", clInfos); httpServletRequest.setAttribute("PAGER", pager); return actionMapping.findForward(Constants.SUCCESS); }查询语句select count(*) from VehicleProperty 也可以换成你需要的任意的条件(select count(*) from VehicleProperty where ..)
感谢各位的阅读,以上就是"Hibernate DAO类怎么使用"的内容了,经过本文的学习后,相信大家对Hibernate DAO类怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
对象
数据
页面
学习
查询
输出
代码
内容
总行
情况
服务器
结构
服务
中用
兴趣
参数
客户
客户端
就是
思路
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
代理服务器的技术优点
查看达梦数据库是否开启远程管理
聊城搜房网络技术有限公司
防止服务器被攻击
天津多功能软件开发厂家报价
笑声铃声软件开发
考试服务器安全防范
天龙八部521服务器
安阳软件开发要多少钱
数据库是由一行行的记录组成的吗
软件开发做兼职被公司起诉
朗新科技工业互联网事业部
票房数据库技术文案
向数据库中批量写入数据
中国法院网络安全和信息化工作
网络技术管理岗位面试题
网络安全管理和服务上市公司
网络安全操作六禁令心得短句
tbc赛季服哪个服务器好点
网络安全背景和现状
社工数据库百度网盘
新开云服务器
做三维设计用服务器可以吗
美云服务器
云数据库供应商的类别
网络安全活动作文600字
广东世纪互联网科技有限公司
体育生可以报软件开发专业吗
大学生网络安全宣传文案
传奇服务器搭建外网不能连接