阿里P8告訴你Java框架hibernate怎么入門(mén)

Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架谬莹,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝驮宴,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)沛简。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合杆勇,既可以在Java的客戶端程序使用贪壳,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是蚜退,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP闰靴,完成數(shù)據(jù)持久化的重任。

流程圖:

核心接口

Hibernate的核心接口一共有6個(gè)钻注,分別為:Session蚂且、SessionFactory、Transaction幅恋、Query杏死、Criteria和Configuration。這6個(gè)核心接口在任何開(kāi)發(fā)中都會(huì)用到捆交。通過(guò)這些接口淑翼,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制零渐。下面對(duì)這6個(gè)核心接口分別加以介紹窒舟。

Session

Session接口負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫(kù)的交流,包含了很多常見(jiàn)的SQL語(yǔ)句诵盼。)惠豺。但需要注意的是Session對(duì)象是非線程安全的银还。同時(shí),Hibernate的session不同于JSP應(yīng)用中的HttpSession洁墙。這里當(dāng)使用session這個(gè)術(shù)語(yǔ)時(shí)蛹疯,其實(shí)指的是Hibernate中的session,而以后會(huì)將HttpSession對(duì)象稱為用戶session热监。

SessionFactory

SessionFactory接口負(fù)責(zé)初始化Hibernate捺弦。它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對(duì)象孝扛。這里用到了工廠模式列吼。需要注意的是SessionFactory并不是輕量級(jí)的,因?yàn)橐话闱闆r下苦始,一個(gè)項(xiàng)目通常只需要一個(gè)SessionFactory就夠寞钥,當(dāng)需要操作多個(gè)數(shù)據(jù)庫(kù)時(shí),可以為每個(gè)數(shù)據(jù)庫(kù)指定一個(gè)SessionFactory陌选。

Transaction

Transaction 接口是一個(gè)可選的API理郑,可以選擇不使用這個(gè)接口,取而代之的是Hibernate 的設(shè)計(jì)者自己寫(xiě)的底層事務(wù)處理代碼咨油。 Transaction 接口是對(duì)實(shí)際事務(wù)實(shí)現(xiàn)的一個(gè)抽象您炉,這些實(shí)現(xiàn)包括JDBC的事務(wù)、JTA 中的UserTransaction役电、甚至可以是CORBA 事務(wù)赚爵。之所以這樣設(shè)計(jì)是能讓開(kāi)發(fā)者能夠使用一個(gè)統(tǒng)一事務(wù)的操作界面,使得自己的項(xiàng)目可以在不同的環(huán)境和容器之間方便地移植宴霸。

Query

Query接口讓你方便地對(duì)數(shù)據(jù)庫(kù)及持久對(duì)象進(jìn)行查詢囱晴,它可以有兩種表達(dá)方式:HQL語(yǔ)言或本地?cái)?shù)據(jù)庫(kù)的SQL語(yǔ)句。Query經(jīng)常被用來(lái)綁定查詢參數(shù)瓢谢、限制查詢記錄數(shù)量畸写,并最終執(zhí)行查詢操作。

Criteria

Criteria接口與Query接口非常類似氓扛,允許創(chuàng)建并執(zhí)行面向?qū)ο蟮臉?biāo)準(zhǔn)化查詢枯芬。值得注意的是Criteria接口也是輕量級(jí)的,它不能在Session之外使用采郎。

Configuration

Configuration 接口的作用是對(duì)Hibernate 進(jìn)行配置千所,以及對(duì)它進(jìn)行啟動(dòng)。在Hibernate 的啟動(dòng)過(guò)程中蒜埋,Configuration 類的實(shí)例首先定位映射文檔的位置淫痰,讀取這些配置,然后創(chuàng)建一個(gè)SessionFactory對(duì)象整份。雖然Configuration 接口在整個(gè)Hibernate 項(xiàng)目中只扮演著一個(gè)很小的角色待错,但它是啟動(dòng)hibernate 時(shí)所遇到的每一個(gè)對(duì)象籽孙。

大家可以點(diǎn)擊加入群:【Java高級(jí)架構(gòu)進(jìn)階群】:854180697? ?里面有Java高級(jí)大牛直播講解知識(shí)點(diǎn) 走的就是高端路線,(如果你想跳槽換工作 但是技術(shù)又不夠 或者工作上遇到了瓶頸 火俄,我這里有一個(gè)JAVA的免費(fèi)直播課程犯建,講的是高端的知識(shí)點(diǎn)基礎(chǔ)不好的誤入喲,只要你有1-5年的開(kāi)發(fā)經(jīng)驗(yàn)可以加群找我要課堂鏈接瓜客,注意:是免費(fèi)的 沒(méi)有開(kāi)發(fā)經(jīng)驗(yàn)誤入哦)

hibernate的優(yōu)點(diǎn)

Hibernate會(huì)處理映射的Java類來(lái)使用XML文件适瓦,數(shù)據(jù)庫(kù)表和無(wú)需編寫(xiě)任何一行代碼。

提供了簡(jiǎn)單的API谱仪,用于直接從數(shù)據(jù)庫(kù)中存儲(chǔ)和檢索Java對(duì)象玻熙。

如果有變化,數(shù)據(jù)庫(kù)或任何表中的那么只需要修改XML文件的屬性疯攒。

抽象掉不熟悉的SQL類型揭芍,并提供我們解決熟悉的Java對(duì)象。

Hibernate不要求應(yīng)用服務(wù)器進(jìn)行操作卸例。

操縱數(shù)據(jù)庫(kù)對(duì)象的復(fù)雜關(guān)聯(lián)。

盡量減少與智能讀取策略數(shù)據(jù)庫(kù)的訪問(wèn)肌毅。

提供數(shù)據(jù)的簡(jiǎn)單查詢筷转。

hibernate配置

先下載hibernate所需包,我下載的是hibernate-distribution-3.6.4.Final悬而,解壓縮下載的文件呜舒,目錄結(jié)構(gòu)如下所示。

然后將lib中的包拷貝到項(xiàng)目中即可笨奠。

同時(shí)也可以使用myeclipse直接加載hibernate框架袭蝗。

配置文件hibernate.cfg.xml

org.hibernate.dialect.MySQLDialect jdbc:mysql://127.0.0.1:3306/java_web root root com.mysql.jdbc.Driver Test update true true true 10000 50 3000 10 20 org.hibernate.dialect.MySQLDialect

寫(xiě)在最后:歡迎留言討論,加關(guān)注般婆,持續(xù)更新5叫取!蔚袍!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末乡范,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子啤咽,更是在濱河造成了極大的恐慌晋辆,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宇整,死亡現(xiàn)場(chǎng)離奇詭異瓶佳,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)鳞青,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)霸饲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)为朋,“玉大人,你說(shuō)我怎么就攤上這事贴彼∏蹦澹” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵器仗,是天一觀的道長(zhǎng)融涣。 經(jīng)常有香客問(wèn)我,道長(zhǎng)精钮,這世上最難降的妖魔是什么威鹿? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮轨香,結(jié)果婚禮上忽你,老公的妹妹穿的比我還像新娘。我一直安慰自己臂容,他們只是感情好科雳,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著脓杉,像睡著了一般糟秘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上球散,一...
    開(kāi)封第一講書(shū)人閱讀 52,262評(píng)論 1 308
  • 那天尿赚,我揣著相機(jī)與錄音,去河邊找鬼蕉堰。 笑死凌净,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的屋讶。 我是一名探鬼主播冰寻,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼丑婿!你這毒婦竟也來(lái)了性雄?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤羹奉,失蹤者是張志新(化名)和其女友劉穎秒旋,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體诀拭,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡迁筛,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了耕挨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片细卧。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡尉桩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贪庙,到底是詐尸還是另有隱情蜘犁,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布止邮,位于F島的核電站这橙,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏导披。R本人自食惡果不足惜屈扎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望撩匕。 院中可真熱鬧鹰晨,春花似錦、人聲如沸止毕。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)扁凛。三九已至哩牍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間令漂,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工丸边, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叠必,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓妹窖,卻偏偏與公主長(zhǎng)得像纬朝,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子骄呼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Hibernate: 一個(gè)持久化框架 一個(gè)ORM框架 加載:根據(jù)特定的OID,把一個(gè)對(duì)象從數(shù)據(jù)庫(kù)加載到內(nèi)存中OID...
    JHMichael閱讀 1,979評(píng)論 0 27
  • hibernate(20170731) 1.導(dǎo)包:hibernate-distribution-3.5.6-Fin...
    瀟湘雨smile閱讀 543評(píng)論 0 0
  • 1.Struts2.0有幾種標(biāo)簽庫(kù) 【參考答案】 UI標(biāo)簽辟犀、控制標(biāo)簽、數(shù)據(jù)標(biāo)簽绸硕、雜項(xiàng)標(biāo)簽 2.struts2必備包...
    碼記閱讀 1,605評(píng)論 0 7
  • -- 滅燭憐光滿, 披衣覺(jué)露滋. 富麗堂皇的夜燈 絢爛的禮花 濃妝上場(chǎng)的夜啊 似要從我手指間剝走 思念的片刻溫存 ...
    靈魂刀手閱讀 185評(píng)論 0 2
  • 一些舊照片 ▼ 最大的奢侈總是與某種赤貧相伴出現(xiàn)堂竟,沒(méi)有真正地體驗(yàn)過(guò)痛苦魂毁,也就沒(méi)有所謂的愛(ài)意與滿足。 在普吉島出嘹,這個(gè)...
    一只猴兒閱讀 318評(píng)論 0 0