Java Web编程的主要组件技术——Hibernate入门
參考書籍:《J2EE開源編程精要15講》
?
Hibernate是對象/關系映射(ORM,Object/Relational Mapping)的解決方案,就是將Java對象與對象關系映射到關系型數據庫中的表格與表格之間的關系。它是Java應用與關系數據庫之間的橋梁,負責Java對象和關系數據之間的映射。Hibernate內部封裝了通過JDBC訪問數據庫的操作,向上層應用提供了面向對象的數據庫訪問API。
?
Hibernate的體系結構
Hibernate通過配置文件( hibernate.properties 或 hibernate.cfg.xml )和映射文件( .hbm.xml )把Java對象或持久化對象( Persistent Object,PO )映射到數據庫的表格,然后通過操作PO,對數據表中的數據進行增、刪、改、查等操作。
?
Hibernate的核心組件
- Configuration類:用來讀取Hibernate配置文件,并生成SessionFactory對象。
- SessionFactory接口:產生Session實例的工廠
- Session接口:用來操作PO。有get()、load()、save()、update()、delete()等方法用來對PO進行加載、保存、更新及刪除等操作,是Hibernate的核心接口
- Query接口:用來對PO進行查詢操作。可從Session的createQuery()方法生成
- Transaction接口:用來管理Hibernate事務,主要方法有commit()和rollback(),可從Session的beginTransaction()方法生成
- Hibernate配置文件主要用來配置數據庫鏈接參數,如數據庫驅動程序、URL、用戶名、密碼等。有兩種格式:hibernate.properties 和 hibernate.cfg.xml,hibernate.cfg.xml可以在其<mapping>子元素中定義用到的xxx.hbm.xml映射文件列表,而hibernamte.properties需要在程序中以硬代碼方式指明。一般hibernate.cfg.xml是Hibernate的默認配置文件
- 映射文件(xxx.hbm.xml)用來把PO與數據庫中的數據表、PO之間的關系與數據庫之間的關系、以及PO的屬性與表字段一一映射起來,是Hibernate的核心文件
- 持久化對象(PO)可以是普通的JavaBean/POJO,唯一特殊的是他們正與(僅僅一個)Session相關聯。JavaBean在Hibernate中存在三種狀態:臨時狀態(transient)、持久化狀態(persistent)和托管狀態(detached)。當JavaBean對象在內存中孤立存在、不與數據庫中的數據有任何關聯關系時,為臨時對象;當它與一個Session相關聯時,為持久化對象;在這個Session被關閉的同時,這個對象變成脫管對象。
?
Hibernate的運行過程
1) 應用程序調用Configuration類,該類讀取Hibernate配置文件級映射文件中的信息,并生成一個SessionFactory
2) 從SessionFactory對象生成一個Session對象,并用Session對象生成Transaction對象
3) 通過Session對象的get()、load()、save()、update()、delete()、saveOrUpdate()等方法對PO進行加載、保存、更新、刪除等操作;通過Session對象生成一個Query對象,進行查詢操作
4) 如無異常,Transaction對象將提交這些操作結果到數據庫中
?
?
應用示例 簡單用戶登記:http://pan.baidu.com/s/1dDGSzQh
相關資料:http://yusun.blog.163.com/blog/static/20174407620120432015398/
轉載于:https://www.cnblogs.com/cqq626/p/4328997.html
總結
以上是生活随笔為你收集整理的Java Web编程的主要组件技术——Hibernate入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员面试不完全指南
- 下一篇: Java初始阶段