操作Hibernate類:增加,刪除,修改及查詢

本篇文章講述操作Hibernate類的實現:增加,刪除,修改及查詢。具體來說,就是增加,刪除,修改,按ID查詢,模糊查詢,以及查詢全部。

AD:

操作Hibernate類大致有增加,刪除,修改及檢查四種,簡稱爲增刪改查。以下爲實現代碼:

  1. /*  
  2. *具體操作hibernate的類  
  3. *增加,刪除,修改,按ID查詢,模糊查詢,查詢全部  
  4. **/ 
  5. public class PersonOperate {  
  6. //在hibernate中所有操作都是由Session完成  
  7. public Session session = null;  
  8.  
  9. //在構造方法中實例化Session對象  
  10. public PersonOperate(){  
  11.     //找出hibernate的配置  
  12.     Configuration config = new Configuration().configure();  
  13.     //從配置中取出SessionFactory  
  14.     SessionFactory sf = config.buildSessionFactory();  
  15.     //從SessionFactory中取出Session  
  16.     this.session = sf.openSession();  
  17. }  
  18.  
  19. //操作Hibernate類的所有操作都是通過Session完成的  
  20.  
  21. //增加數據庫中數據  
  22. public void insert(Person person){  
  23.     //開始事務  
  24.     Transaction tran =    session.beginTransaction();  
  25.     //執行語句  
  26.     session.save(person);  
  27.     //提交事務  
  28.     tran.commit();  
  29.     session.close();   
  30. }  
  31.  
  32. //操作Hibernate類更改數據庫中的數據  
  33. public void update(Person person){  
  34.     //開始事務  
  35.     Transaction tran =    session.beginTransaction();  
  36.     //執行語句  
  37.     session.update(person);  
  38.     //提交事務  
  39.     tran.commit();   
  40. }  
  41.  
  42. /*操作Hibernate類:按ID查詢  
  43.     *我們插入,修改都是對對象進行操作  
  44.     *那麼我們查詢的時候也應該是返回一個對象  
  45.     **/ 
  46. public Person queryById(String id){  
  47.     System.out.println(id);  
  48.     Person person = null;  
  49.     //hibernate查詢語句  
  50.     String hql = "FROM Person as p WHERE p.id = ?";  
  51.     Query q = session.createQuery(hql);  
  52.     q.setString(0, id);  
  53.     List list = q.list();  
  54.     Iterator iteator = list.iterator();  
  55.     if(iteator.hasNext()){  
  56.      person = (Person)iteator.next();  
  57.     }  
  58.     return person;  
  59. }  
  60.  
  61. /*操作Hibernate類:刪除數據庫中數據  
  62.     *hiberante2,hibernate3中通用的刪除方法  
  63.     *缺點:刪除數據之前要先查詢一次數據,找出刪除的數據對象  
  64.     *性能低下  
  65.     **/ 
  66. public void delete(Person person){  
  67.     //開始事務  
  68.     Transaction tran =    session.beginTransaction();  
  69.     //執行語句  
  70.     session.delete(person);  
  71.     //提交事務  
  72.     tran.commit();   
  73. }  
  74.  
  75. //hibernate3的用法  
  76. public void delete(String id){  
  77.     //開始事務  
  78.     Transaction tran =    session.beginTransaction();  
  79.     String hql = "DELETE Person WHERE id = ?";  
  80.  
  81.     Query q = session.createQuery(hql);  
  82.     q.setString(0, id);  
  83.     //執行更新語句  
  84.     q.executeUpdate();  
  85.     //提交事務  
  86.     tran.commit();  
  87. }  
  88.  
  89. //操作Hibernate類:查詢全部數據  
  90. public List queryAll(){  
  91.     List list = null;  
  92.     String hql = "FROM Person as p ";  
  93.     Query q = session.createQuery(hql);  
  94.     list = q.list();  
  95.     return list;  
  96. }  
  97.  
  98. //操作Hibernate類:模糊查詢  
  99. public List queryByLike(String colnum,String value){  
  100.     List list = null;  
  101.     String hql = "FROM Person as p WHERE p."+ colnum +" like ?";  
  102.     Query q = session.createQuery(hql);  
  103.     q.setString(0, "%"+ value +"%");  
  104.     list = q.list();  
發佈了84 篇原創文章 · 獲贊 6 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章