標籤:方案 資料訪問層 開發 資料持久化 nal dbutil into 架構 位元組碼
1. 什麼是Hibernate:
架構:軟體的半成品,完成部分功能代碼.
Hibernate:Hibernate是一個開放原始碼的對象關係映射架構,它對JDBC進行了非常輕量級的對象封裝,使得Java程式員可以隨心所欲的使用對象編程思維來操縱資料庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的用戶端程式使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成資料持久化的重任。
Hibernate是輕量級JavaEE應用的持久層解決方案,是一個關聯式資料庫ORM架構.
- ORM:Object Relational Mapping.
- 傳統方式開發:
- 持久層:
- 編寫SQL.執行SQL. String sql = “insert into 表 values (?,?,?...)”;
- 開發語言Java:物件導向.
- 資料庫:MySQL(關係型的資料庫.)
- 將Java中的實體類與資料庫的關係表建立一個映射.就可以操作Java中對象,從而操作資料庫.
***** Hibernate就是一個持久層的ORM的架構.
常見的持久層架構:
* Hibernate :
* JPA :JPA Java Persistence API.JPA通過JDK 5.0註解或XML描述對象-關係表的映射關係(只有介面規範)
* MyBatis :前身Ibatis.
* DbUtils :
* 企業開發兩套架構:
* SSH:Struts2 + Spring + Hibernate
* SSI:SpringMVC + Spring + Ibatis
2. 為什麼要學習Hibernate:
-
-
- Hibernate對JDBC訪問資料庫的代碼做了封裝,大大簡化了資料訪問層繁瑣的重複性代碼
- Hibernate是一個基於jdbc的主流持久化架構,是一個優秀的orm實現,它很大程度的簡化了dao層編碼工作
- Hibernate使用java的反射機制,而不是位元組碼增強程式類實現透明性
- Hibernate的效能非常好,因為它是一個輕量級架構。映射的靈活性很出色。它支援很多關係型資料庫,從一對一到多對多的各種複雜關係.
Hibernate版本:
Hibernate3.x版本 和 Hibernate4.x
* 企業中常用的還是Hibernate3.x.
01-Hibernate架構的概述