Hibernate的概述

持久層概念
ORM概述
持久層實現類型
持久層框架概述
Hibernate簡介
Hibernate發展過程
爲什麼Hibernate如此成功
DAO設計模式

持久層概念
“持久”,英文即Persistence,簡單來講,也就是把數據保存到可掉電式存儲設備中供之後所用。大多數情況下,特別是企業級應用,數據持久化往往也就意味着將內存中的數據保存到磁盤上加以“固化”,而持久化的實現過程則大多通過各種關係型數據庫來完成。
“持久”的概念如此簡單,那麼,“持久層”又應如何理解?延續思路,所謂“持久層”,也就是在系統邏輯層面上,專注於實現數據持久化的一個相對獨立的領域。

ORM概述
目前,無論是商業領域還是開源社區,都已經爲我們提供了豐富且久經考驗的持久層組件,使用這些成熟可靠的已有實現可以在很大程度上回避技術上的風險,同時迅速提高應用系統開發的勞動產出比。
同時,作爲持久層組件的集大成者——持久層框架,也出現了不少極爲優秀的實現版本,其中ORM持久層框架,則是未來的主流。
所謂ORM(Object/Relational Mapper),從字面上來理解,即“對象—關係型數據映射組件”。與最常見的“O/R Mapping”相對來講,O/R Mapping描述的是一種設計思想或者實現機制,而“O/R Mapper”一般指根據O/R原理設計的持久化框架,其中包含了除O/R本身之外的更多內容,如SQL自生成,事務管理,Cache管理等。

持久成的實現類型:
1、混雜模式
2、基於Data Class的持久層實現模式
3、基於現有持久層框架的實現模式

持久層框架概述
在Java發展的初級階段,直接調用JDBC幾乎是數據庫訪問的唯一手段。隨着近年來設計思想和Java技術本身的演化,出現了許多JDBC的封裝技術,這些技術爲我們的數據庫訪問實現提供了更多的選擇,目前主流的幾套JDBC封裝框架包括:Hibernate、JDO、JPA以及J2EE框架中的CMP等。這些框架以優良的設計大大提高了數據庫訪問層的開發效率,並且通過對數據訪問中各種資源和數據的緩存調度,實現了更佳的性能。
一個成熟的持久層框架能爲我們做些什麼?
減少乏味的代碼 、
更加面向對象的設計
更好的性能
更好的移值性

Hibernate簡介
現今的應用系統設計中,MVC(Model-View-Control)作爲主流系統架構模式之一,貫穿了整個設計流程。MVC中的M,也就是所謂的Model,則可以說是與業務邏輯和數據邏輯關聯最爲緊密的部分。而持久層作爲Model層面中的主要組成,其設計的優劣必對系統的整體表現產生至關重要的影響。
Hibernate作爲一個成熟且強大的持久層框架實現,集諸多持久層思想之大成。並針對實際應用開發進行了大量補充。
Hibernate提供了強大、高性能的對象到關係型數據庫的持久化服務。利用Hibernate開發人員可以按照Java的基礎語義進行持久層開發。Hibernate提供的HQL[Hibernate Query Language]是面向對象的查詢語言,它在對象型數據和關係型數據庫之間構建了一條快速、高效、便捷的溝通渠道。

DAO設計模式
DAO設計模式就是把訪問數據庫代碼用一種更好的方法進行進一步的封裝。
優點:
降低程序中模塊之間的耦合
缺點:
同樣的功能需要編寫更多的代碼

實現DAO
DBManager類
管理數據庫的連接和關閉
AddrBook類
實體類
AddrBookDAO接口
數據操作接口
AddrBookDAOImpl類
數據操作對象
DAOFactory類
DAO工廠,產生DAO對象
Test類
測試類

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章