好的,沒問題,現(xiàn)在就開始? 對的沒錯現(xiàn)在就開始我們的Hibernate教程
基礎(chǔ)概念
1.什么是框架?
答:框架就是一個半成品,在此基礎(chǔ)上開發(fā)可以提高我們的開發(fā)效率,減少代碼量,提高程序的健壯性。也就是說,框架在底層幫我們實現(xiàn)了很多功能,例如在沒有使用hibernate框架做數(shù)據(jù)庫查詢的時候,我們需要手寫jdbc代碼來實現(xiàn)查詢數(shù)據(jù)庫,但是我們使用了hibernate框架之后,就不用手寫jdbc代碼,只是調(diào)用其方法就可以實現(xiàn)查詢。
2.什么是持久化框架或者說什么是持久化(數(shù)據(jù)持久化)?
答:狹義的理解:持久化僅僅就是把對象保存到數(shù)據(jù)庫中。這里直接這么說可能不怎么好理解,對象表示的是數(shù)據(jù)庫中的某個表,對象中的屬性表示的是表中的某個字段。我個人比較喜歡理解成,將對象中的某個屬性的值放入對應(yīng)表中的對應(yīng)字段中。
廣義的理解:對數(shù)據(jù)庫的所有操作都稱為持久化操作。例如:增、刪、改、查,這里查詢指的是從數(shù)據(jù)庫中查詢出一個或多個對象放到內(nèi)存中。
3.ORM是什么?
答:大家都知道java是面向?qū)ο?,而?shù)據(jù)庫則是面向關(guān)系通過表中的鍵,來確定兩個表的關(guān)系。我們在開發(fā)的時候會想,我們?nèi)渴褂妹嫦驅(qū)ο髞硖幚?,而不用去記?fù)雜的關(guān)系;所以要想實現(xiàn)它們兩個之間的管理,就需要有一個橋梁而這個橋梁就是ORM(Object Relational Mapping即 對象/關(guān)系 映射)。

上圖可以看出,java對象映射了數(shù)據(jù)庫中的某個表,既然對象與表做了映射,那么對象中的屬性與表中的字段也需要做映射的。
Hibernate優(yōu)勢
1.簡化開發(fā),提高效率
2.更加面向?qū)ο笤O(shè)計。因為類映射表,屬性映射字段,對象映射記錄(表中一行記錄),所以我們可以通過類來生成表。
3.更好的性能。第一:對于一般程序員講,hibernate生成的sql語句要比你自己寫的一樣或要好;第二:hibernate的緩存機制。
4.更好的可移植性。我們知道sql是一個標(biāo)準(zhǔn),sql中的大部分語句都可以在任意數(shù)據(jù)庫中使用,但是一些函數(shù)是無法通用的;我們使用hibernate則就不同了,因為hibernate會根據(jù)數(shù)據(jù)庫生成對應(yīng)的sql語句。
兩個文件
????1.Hibernate.cfg.xml是Hibernate的配置文件,Hibernate從這個文件中讀取配置,例如數(shù)據(jù)庫連接地址,數(shù)據(jù)庫賬號密碼,映射文件等。
????2. *.hbm.xml關(guān)系映射文件(元數(shù)據(jù)),配置對象與表之間的關(guān)系,星號表示文件名但是一般都寫對應(yīng)的實體名稱。
總結(jié)
1.Hibernate通過數(shù)據(jù)持久化與ORM思想,將數(shù)據(jù)庫操作轉(zhuǎn)換為對象操作。
2.Hibernate封裝了JDBC操作,簡化了操作,提高了編程速度,以及編程風(fēng)格的統(tǒng)一。
3.ORM通過元數(shù)據(jù)來描述對象-關(guān)系之間的映射。
4.Hibernate.cfg.xml為Hibernate的配置文件,Hibernate從這個文件中讀取配置。放在網(wǎng)站根目錄下,名字可以更改但是一般不改。
5.*.hbm.xml關(guān)系映射文件(元數(shù)據(jù)),配置對象與表之間的關(guān)系。
