日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

用hibernate类实现数据库的基本操作

發布時間:2025/3/17 数据库 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用hibernate类实现数据库的基本操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????? 首先,介紹一下haibernate。hibernate本來的意思是Let?Java?objects?hibernate?in?the?relational?database(讓java對象在關系書庫中冬眠),也就是實現java對在關系數據庫中的持久化管理。

????? Hibernate?是Java應用和關系數據庫之間的橋梁,負責Java對象和關系數據庫之間的映射的ORM中間件。Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java開發人員可以隨心所欲的使用對象編程思維來操縱數據庫。簡單的說就是:  
  1.封裝了通過JDBC訪問數據庫操作?! ?br />  2.向上層應用提供訪問面向對象數據訪問的API。

?

下面介紹一下hibernate類的常用操作。

?

  • /* ?
  • *具體操作hibernate的類 ?
  • *增加,刪除,修改,按ID查詢,模糊查詢,查詢全部 ?
  • **/?
  • public?class?PersonOperate?{ ?
  • //在hibernate中所有操作都是由Session完成 ?
  • public?Session?session?=?null; ?
  • ?
  • //在構造方法中實例化Session對象 ?
  • public?PersonOperate(){ ?
  • ????//找出hibernate的配置 ?
  • ????Configuration?config?=?new?Configuration().configure(); ?
  • ????//從配置中取出SessionFactory ?
  • ????SessionFactory?sf?=?config.buildSessionFactory(); ?
  • ????//從SessionFactory中取出Session ?
  • ????this.session?=?sf.openSession(); ?
  • } ?
  • ?
  • //操作Hibernate類的所有操作都是通過Session完成的 ?
  • ?
  • //增加數據庫中數據 ?
  • public?void?insert(Person?person){ ?
  • ????//開始事務 ?
  • ????Transaction?tran?=????session.beginTransaction(); ?
  • ????//執行語句 ?
  • ????session.save(person); ?
  • ????//提交事務 ?
  • ????tran.commit(); ?
  • ????session.close();? ?
  • } ?
  • ?
  • //操作Hibernate類更改數據庫中的數據 ?
  • public?void?update(Person?person){ ?
  • ????//開始事務 ?
  • ????Transaction?tran?=????session.beginTransaction(); ?
  • ????//執行語句 ?
  • ????session.update(person); ?
  • ????//提交事務 ?
  • ????tran.commit();? ?
  • } ?
  • ?
  • /*操作Hibernate類:按ID查詢 ?
  • ????*我們插入,修改都是對對象進行操作 ?
  • ????*那么我們查詢的時候也應該是返回一個對象 ?
  • ????**/?
  • public?Person?queryById(String?id){ ?
  • ????System.out.println(id); ?
  • ????Person?person?=?null; ?
  • ????//hibernate查詢語句 ?
  • ????String?hql?=?"FROM?Person?as?p?WHERE?p.id?=??"; ?
  • ????Query?q?=?session.createQuery(hql); ?
  • ????q.setString(0,?id); ?
  • ????List?list?=?q.list(); ?
  • ????Iterator?iteator?=?list.iterator(); ?
  • ????if(iteator.hasNext()){ ?
  • ?????person?=?(Person)iteator.next(); ?
  • ????} ?
  • ????return?person; ?
  • } ?
  • ?
  • /*操作Hibernate類:刪除數據庫中數據 ?
  • ????*hiberante2,hibernate3中通用的刪除方法 ?
  • ????*缺點:刪除數據之前要先查詢一次數據,找出刪除的數據對象 ?
  • ????*性能低下 ?
  • ????**/?
  • public?void?delete(Person?person){ ?
  • ????//開始事務 ?
  • ????Transaction?tran?=????session.beginTransaction(); ?
  • ????//執行語句 ?
  • ????session.delete(person); ?
  • ????//提交事務 ?
  • ????tran.commit();? ?
  • }???
  • //hibernate3的用法 ?
  • public?void?delete(String?id){ ?
  • ????//開始事務 ?
  • ????Transaction?tran?=????session.beginTransaction(); ?
  • ????String?hql?=?"DELETE?Person?WHERE?id?=??"; ?
  • ?
  • ????Query?q?=?session.createQuery(hql); ?
  • ????q.setString(0,?id); ?
  • ????//執行更新語句 ?
  • ????q.executeUpdate(); ?
  • ????//提交事務 ?
  • ????tran.commit(); ?
  • }???
  • //操作Hibernate類:查詢全部數據 ?
  • public?List?queryAll(){ ?
  • ????List?list?=?null; ?
  • ????String?hql?=?"FROM?Person?as?p?"; ?
  • ????Query?q?=?session.createQuery(hql); ?
  • ????list?=?q.list(); ?
  • ????return?list; ?
  • }???
  • //操作Hibernate類:模糊查詢 ?
  • public?List?queryByLike(String?colnum,String?value){ ?
  • ????List?list?=?null; ?
  • ????String?hql?=?"FROM?Person?as?p?WHERE?p."+?colnum?+"?like??"; ?
  • ????Query?q?=?session.createQuery(hql); ?
  • ????q.setString(0,?"%"+?value?+"%"); ?
  • ????list?=?q.list();??
  • ??? return list;
  • }
  • }
  • 轉載于:https://www.cnblogs.com/flyingzqx/archive/2009/12/11/1621638.html

    總結

    以上是生活随笔為你收集整理的用hibernate类实现数据库的基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。