Hibernate的使用(一)

什么是Hibernate?

?????? 開源的,輕量級的,內部實現了ORM思想的,封裝了JDBC的持久層框架.那么什么是開源的,它指的是開放源代碼;輕量級的,是因為它消耗的資源(內存)少,依賴的jar包少;內部實現了ORM思想指的是它不再關注sql語句的編寫,只需操作實體類的屬性和方法;封裝了JDBC因此對比JDBC的效率會有所降低,但是Hibernate提供了一系列的優(yōu)化手段保證查詢效率.

第一部分 Hibernate的入門

這一部分用一句話概括:一個思想,兩個映射,三個準備,七個步驟.

一個思想:

?????? 指的是ORM思想,是Object Relation Mapping的縮寫(對象關系映射).

?????? ORM思想在Hibernate中有三個步驟:

?????????????? (1)將實體類和數據庫表映射起來;

?????????????? (2)將類中的屬性和表中的字段映射起來;

?????????????? (3)使用配置文件將這些關系描述出來.

兩個映射:

?????? 指的是描述實體類和數據庫表的映射關系的xml文件,是搭建Hibernate運行環(huán)境的一個步驟,就要涉及馬上要講的三個準備.

三個準備: ? ?

???????? 搭建Hibernate運行環(huán)境需要三個準備工作:

???????????????? 第一步,創(chuàng)建工程,導入jar包(可到http://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/?中下載);

???????????????? 第二步,根據表編寫它的實體類和實體類映射文件,這里要注意的是映射文件的位置以及命名(位置:實體類所在的包下,命名:實體類名.hbm.xml);

xml文件的編寫首先要導入DTD約束,如圖1

圖1

?然后將實體類和數據庫表映射起來,使用的是class標簽,如圖2

圖2

? 然后就是將類中的屬性和表中的字段映射起來,這一涉及到配置主鍵和配置普通屬性,配置主鍵使用id標簽,配置普通屬性使用property標簽,如圖3

圖3

第三步,編寫核心配置文件,這里需要配置數據庫信息砰碴、Hibernate的配置信息以及映射文件的位置(位置:src下;命名:hibernate.cfg.xml).

核心配置文件首先也要導入DTD約束,但和映射文件的約束不同,如圖4

圖4

然后就是就是編寫數據庫配置信息和hibernate配置信息,如圖5

圖5

在做完以上工作后就可以對數據庫進行增刪改查了!

七個步驟:

??????? (1)加載配置文件:

???????????????? Configuration cfg = new Configuration();

???????????????? cfg.configure();

??????? (2)構建一個SessionFactory對象

? ? ? ? ? ? ? ? ? SessionFactory? factory? =? cfg.buildSessionFactory();

??????? (3)打開一個新的session對象

? ? ? ? ? ? ? ? ? Session session = sessionFactory.openSession();

??????? (4)開啟事務,返回事務對象

? ? ? ? ? ? ? ? ? Transaction tx = session.beginTransaction();

??????? (5)增刪改查:使用session的save傻丝、delete墩剖、get/load方法進行CRUD(增刪改查)操作

??????? (6)提交事務

? ? ? ? ? ? ? ?? tx.commit();

??????? (7)釋放資源

? ? ? ? ? ? ? ?? session.close();

?????????????? ? sessionFactory.close();

這時我們可進一步抽取一個工具類HibernateUtils,如圖6

圖6

------------未完待續(xù)---------

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市炎功,隨后出現的幾起案子栓拜,更是在濱河造成了極大的恐慌一膨,老刑警劉巖呀邢,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異豹绪,居然都是意外死亡价淌,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來输钩,“玉大人豺型,你說我怎么就攤上這事÷蚰耍” “怎么了姻氨?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長剪验。 經常有香客問我肴焊,道長,這世上最難降的妖魔是什么功戚? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任娶眷,我火速辦了婚禮,結果婚禮上啸臀,老公的妹妹穿的比我還像新娘届宠。我一直安慰自己,他們只是感情好乘粒,可當我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布豌注。 她就那樣靜靜地躺著,像睡著了一般灯萍。 火紅的嫁衣襯著肌膚如雪轧铁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天旦棉,我揣著相機與錄音齿风,去河邊找鬼。 笑死绑洛,一個胖子當著我的面吹牛救斑,可吹牛的內容都是我干的。 我是一名探鬼主播真屯,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼脸候,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了讨跟?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤鄙煤,失蹤者是張志新(化名)和其女友劉穎晾匠,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體梯刚,經...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡凉馆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澜共。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡向叉,死狀恐怖,靈堂內的尸體忽然破棺而出嗦董,到底是詐尸還是另有隱情母谎,我是刑警寧澤,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布京革,位于F島的核電站奇唤,受9級特大地震影響,放射性物質發(fā)生泄漏匹摇。R本人自食惡果不足惜咬扇,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望廊勃。 院中可真熱鬧懈贺,春花似錦、人聲如沸坡垫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽葛虐。三九已至胎源,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間屿脐,已是汗流浹背涕蚤。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留的诵,地道東北人万栅。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像西疤,于是被迫代替她去往敵國和親烦粒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內容

  • 本文中我們介紹并比較兩種最流行的開源持久框架:iBATIS和Hibernate,我們還會討論到Java Persi...
    大同若魚閱讀 4,312評論 4 27
  • Hibernate的簡介及簡單使用 一芭碍、什么是Hibernate徒役。 還在自學JavaWeb基礎的童鞋們可能聽到Hi...
    曹楓香閱讀 398評論 0 3
  • 本文包括: 1、CRM 項目的整體介紹 2窖壕、Hibernate 框架概述 3忧勿、Hibernate 快速入門 4杉女、H...
    廖少少閱讀 3,475評論 9 66
  • Hibernate: 一個持久化框架 一個ORM框架 加載:根據特定的OID,把一個對象從數據庫加載到內存中OID...
    JHMichael閱讀 1,972評論 0 27
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法鸳吸,內部類的語法熏挎,繼承相關的語法,異常的語法晌砾,線程的語...
    子非魚_t_閱讀 31,639評論 18 399