Hibernate知識點總結
Hibernate的學習在整個SSH的學習過程中算是持續時間最長的,因為裡面涉及到的東西比較多一些,這篇博文就簡單介紹一下小編自己對Hibernate的初步總結。
一、導圖展示
二、導圖分析
Hibernate定義:Hibernate是一個開放原始碼的物件關係對映框架,它對JDBC進行了非常輕量級的物件封裝,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料庫。
小編理解的Hibernate大體上分為三個部分:一是關於xml部分的配置,二是Hibernate相關的api,最後一個是具體的增刪改查操作。
1.關於xml的配置
hibernate中涉及的xml主要有兩部分:
①描述類與表中的關係對映配置檔案 xxx.hbm.xml
主要描述了實體類與資料庫中表中的對映關係,我把裡面的關係主要分為兩部分,一部分是關於類級別的,主要描述的是自身的屬性和資料表中欄位的對應關係;另一部分是對級聯關係的描述,比如一對一、一對多、多對對等實體與實體之間聯絡的描述,配置好之後,資料庫會根據配置的級聯關係生成對應的外來鍵約束。
②描述連線資料庫的配置檔案 hibernate.cfg.xml
這一部分主要記錄了連線資料庫的必要資訊,比如資料庫驅動、資料庫名稱、使用者名稱和密碼,以及Hibernate訪問不同資料庫需要的方言配置,還有一部分就是對xxx.hbm.xml檔案的引入。它是hibernate的核心配置檔案。
2.Hibernate API
應用程式可以直接通過Hibernate API訪問資料庫。Hibernate API中的介面可分為以下幾類。
①提供訪問資料庫的操作(如儲存、更新、刪除和查詢物件)的介面。這些介面包括:Session、Transaction和Query介面。
②用於配置Hibernate的介面:Configuration,配置Hibernate,啟動Hibernate,建立SessionFactory物件;
初始化Hibernate的介面:SessionFactory,初始化Hibernate,當資料儲存源的代理,建立Session物件。
③回撥介面,使應用程式接受Hibernate內部發生的事件,並作出相應的迴應。這些介面包括:Interceptor、Lifecycle和Validatable介面。
④用於擴充套件Hibernate的功能的介面,如UserType、CompositeUserType和IdentifierGenerator介面。如果需要的話,應用程式可以擴充套件這些介面。
Hibernate內部封裝了JDBC、JTA(JavaTransaction API)和JNDI(Java Naming and Directory Interface)。JDBC提供底層的資料訪問操作,只要使用者提供了相應的JDBC驅動程式,Hibernate可以訪問任何一個資料庫系統。JNDI和JTA使Hibernate能夠和J2EE應用伺服器整合。
3.物件操作
Hibernate實現物件的增刪改查操作依賴於Hibernate API函式,從而運算元據庫實現。這塊我也分成了兩部分,一部分是對類自身的的增刪改查操作,另一部分是和其他類相關聯的增刪該查操作。但是使用Hibernate提供的封裝完成對物件的操作,效能較低,可以通過在類與表中的關係對映配置檔案中修改引數的方式,提高Hibernate的操作效能。
以上就是自己對Hibenate初步的學習總結,歡迎交流學習。
相關文章
- 知識點總結
- linux知識知識點總結Linux
- HDFS知識點總結
- MongoDB知識點總結MongoDB
- Java 知識點總結Java
- django知識點總結Django
- jQuery 知識點總結jQuery
- MySQL知識點總結MySql
- HBase知識點總結
- Kafka知識點總結Kafka
- JavaScript知識點總結JavaScript
- iOS 知識點總結iOS
- Java知識點總結Java
- pga知識點總結
- CSS知識點面試總結CSS面試
- HBase知識點集中總結
- 事務知識點總結
- 知識點漏缺總結
- 前端知識點總結——Vue前端Vue
- java面試知識點總結Java面試
- 前端知識點總結——HTML前端HTML
- 前端知識點總結——DOM前端
- Java 面試知識點總結Java面試
- RabbitMQ 常用知識點總結MQ
- Tomcat 知識點總結Tomcat
- MySQL 索引知識點總結MySql索引
- HTML-知識點總結HTML
- 升級_知識點總結
- iOS GCD知識點總結iOSGC
- Spring知識點總結Spring
- Velocity知識點總結
- (5)FIFO知識點總結
- docker常用知識點總結Docker
- mysql 常用知識點總結MySql
- 零散知識點總結(3) Android 狀態列知識點總結Android
- 總結 MySQL 相關知識點MySql
- HTML5知識點總結HTML
- 跨域知識點部分總結跨域