1、什麼是hibernate
hibernate是對jdbc進行輕量級封裝的 orm 框架,充當項目的持久層.
(1)hibernate 是一個框架(framework)
(2) hibernate 是一個orm框架 : orm (object relation mapping) 對象關係映射框架
o object -> 業務層(只對對象操作)
r relation-> 關係數據庫
m mapping 對象關係映射文件
(3) hibernate 處於我們項目的持久層位置(正因爲如此,所以有人又把hibernate稱爲 持久層框架)
(4) hibernate 實際上就是對jdbc進行了輕量級的封裝.
(5) hibernate 的基礎還是我們java 反射機制
除了hiberante 這個orm框架,還有一些:
apache ojb / toplink / ibatis / ejb cmp
Apache OJB ()
Cayenne ()
Jaxor ()
Hibernate ()
iBatis ()
jRelationalFramework()
mirage ()
SMYLE ()
TopLink ()2、爲什麼需要hibernate
(1)JDBC訪問數據庫的代碼做了封裝,大大簡化了數據訪問層繁瑣的重複性代碼。
(2)Hibernate是一個基於JDBC的主流持久化框架,是一個優秀的ORM實現。他很大程度的簡化DAO層的編碼工作
(3) hibernate使用Java反射機制,而不是字節碼增強程序來實現透明性。
(4) hibernate的性能非常好,因爲它是個輕量級框架。映射的靈活性很出色。它支持各種關係數據庫,從一對一到多對多的各種複雜關係。
3、hibernate學習重點
(1)hibernate的API
(2)hibernate.cfg.xml配置文件(是hibernate的核心配置文件)
(3)對象關係映射文件
4、使用hibernate的好處
①引入hibernate可以使工作人員角色細化,讓程序員更關心業務流程。讓數據庫人員關注數據庫相關的各種操作。
②分層更清晰,耦合性更小。
③通用性強:可以更輕鬆的從一個數據庫平臺轉移到別的平臺。
④對象化:把關係數據庫變成了Java的對象,更加方便操作。
⑤性能保證:hibernate可能按不同的數據庫,處理不同的操作是用最優化的SQL語句,不用我們去想,對於分等算法,在hibernate中會顯得更簡單,可靠。
⑥增加了程序的魯棒性!