91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hibernate DAO類怎么使用

發布時間:2021-12-06 09:23:08 來源:億速云 閱讀:120 作者:iii 欄目:編程語言

這篇文章主要講解了“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類怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普兰店市| 汉中市| 开化县| 石台县| 聊城市| 荆州市| 双峰县| 卫辉市| 瑞昌市| 滦南县| 遵化市| 大荔县| 南汇区| 汨罗市| 泰州市| 绥宁县| 沙河市| 海城市| 西平县| 北碚区| 错那县| 北京市| 永定县| 衢州市| 汝州市| 安丘市| 宕昌县| 梁河县| 蕉岭县| 大悟县| 金门县| 大连市| 本溪| 晋宁县| 沐川县| 蓬莱市| 萍乡市| 神池县| 文昌市| 浑源县| 柳州市|