hibernate流程

Hibernate的CRUD的準備工作:

1):建立表t_user.
2):建立模型對象:User類.
3):編寫DAO組件.
DAO接口:IUserDAO
DAO實現類:UserDAOImpl(暫時不提供方法實現)
DAO測試類:UserDAOTest
4):使用Hibernate依賴jar包.
1).MySQL驅動包:mysql-connector-java-5.1.22.jar(勿忘)


5)Hibernate的CRUD的配置文件:
Hibernate的應用中主要包含兩種配置文件.
1):主配置文件(包含連接數據庫的基本要素:驅動類名,URL,賬號,密碼,方言,包含映射文件)


2):每一個Domain對象的映射文件(處理對象和表中的映射關系).

操作數據庫相關的對象

Configuration對象:
表示hibernate框架的配置對象,主要用于解析Hibernate配置文件和持久化映射文件中的信息,最重要的功能,是用來創(chuàng)建SessionFactory對象.(配置文件都要存放在CLASSPATH根路徑).

SessionFactory對象:
1.負責創(chuàng)建Session對象.
2.數據庫的連接信息是配置SessionFactory;
3.SessionFactory是線程安全的(DataSource),SessionFactory的創(chuàng)建需要很大的系統開銷,實際上,在創(chuàng)建sessionFactory的時候才會去連接數據庫,一般的,針對一個應用,一個數據庫服務器,只需要一個SessionFactory實例就夠了.
4.抽取Hibernate工具類:HibernateUtil
5.SessionFactory的重要方法:使用銀行轉賬案例,說明openSession和getCurrentSession.

****根據對象和映射文件,在創(chuàng)建SessionFactory對象的時候,可以生成對應的數據表:****

hibernate.hbm2ddl.auto=create-drop :刪除并創(chuàng)建表,關閉SessionFactory時,刪除數據庫表.
hibernate.hbm2ddl.auto=create :刪除并創(chuàng)建表
hibernate.hbm2ddl.auto=update :更新表結構:
hibernate.hbm2ddl.auto=validate :驗證表結構:如果表結構和映射文件不匹配,hibernate啟動失敗

Session對象:
1.主要方法:save/update/delete/get/createQuery/beginTransaction/getTransaction.
2.session不是線程安全的(好比Connection對象),所以,session的最大生命周期:一個線程,在web應用當中,一個session的最大生命周期:request.
3.Session中有一個緩存,稱為一級緩存。存放當前工作單元加載的對象.
在一個session的生命周期之內,連續(xù)拿相同類型,相同ID的對象,只需要發(fā)送一次SQL.
4.一級緩存能提高一定的性能,但是有限.
5.session加載出來的對象,都存放于一級緩存中進行管理.
6.控制一級緩存的方法:
clear():清空一級緩存所有對象

Session中的方法的作用是用來改變對象的狀態(tài)的,而不是發(fā)送SQL的.

臨時狀態(tài)/瞬時態(tài)(transient):剛剛用new語句創(chuàng)建感猛,沒有被持久化废酷,不處于session中梁肿。特點:沒有oid,不在session當中
持久化狀態(tài)(persistent):已經被持久化,加入到session的緩存中。特點:有oid,在session當中
脫管態(tài)/游離狀態(tài)(detached):已經被持久化,但不處于session中犬金。特點:有oid,不在session當中
刪除狀態(tài)(removed):對象有關聯的ID,并且在Session管理下,但是已經計劃被刪除晚顷。特點:有oid,在session當中,最終的效果是被刪除.

判斷規(guī)則:
1): 對象是否有OID;
2): 判斷對象是否被Session所管理(在一級緩存中).

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末峰伙,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子该默,更是在濱河造成了極大的恐慌瞳氓,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件栓袖,死亡現場離奇詭異匣摘,居然都是意外死亡,警方通過查閱死者的電腦和手機裹刮,發(fā)現死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門音榜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人必指,你說我怎么就攤上這事囊咏。” “怎么了塔橡?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長霜第。 經常有香客問我葛家,道長,這世上最難降的妖魔是什么泌类? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任癞谒,我火速辦了婚禮,結果婚禮上刃榨,老公的妹妹穿的比我還像新娘弹砚。我一直安慰自己,他們只是感情好枢希,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布桌吃。 她就那樣靜靜地躺著,像睡著了一般苞轿。 火紅的嫁衣襯著肌膚如雪茅诱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天搬卒,我揣著相機與錄音瑟俭,去河邊找鬼。 笑死契邀,一個胖子當著我的面吹牛摆寄,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼微饥,長吁一口氣:“原來是場噩夢啊……” “哼锐帜!你這毒婦竟也來了?” 一聲冷哼從身側響起畜号,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤缴阎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后简软,有當地人在樹林里發(fā)現了一具尸體蛮拔,經...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年痹升,在試婚紗的時候發(fā)現自己被綠了建炫。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡疼蛾,死狀恐怖肛跌,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情察郁,我是刑警寧澤衍慎,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站皮钠,受9級特大地震影響稳捆,放射性物質發(fā)生泄漏。R本人自食惡果不足惜麦轰,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一乔夯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧款侵,春花似錦末荐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至壕鹉,卻和暖如春剃幌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背晾浴。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工负乡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人脊凰。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓抖棘,卻偏偏與公主長得像茂腥,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子切省,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內容