1.Hibernate概述:應用於javaee三層框架中的dao層框架,對數據庫進行crud操作。
* 不需要寫複雜的jdbc代碼
*不需要寫sql語句
*現在一般都是使用的是hibernate-release-5.0.7.Final
2.ORM思想:Object Relational Mapping(對象關係映射)
讓實體類和數據庫進行一一對應關係。(實體類和數據庫表對應、實體類屬性和表裏面的字段對應)
Hibernate使用orm思想對數據庫進行crud操作。
3.Hibernate入門:
* 搭建hibernate環境:
(1)導入必要的包:
(2)創建User實體類:
(3)創建數據庫,但可以不需要創建表。
(4)配置實體類和數據庫表一一對應的關係(映射關係),
>創建xml格式的配置文件,但映射的文件的位置和名稱都沒有規定,但建議是: 實體類名稱.hbm.xml
(5) 創建Hibernate核心配置文件,核心配置文件的文件格式和位置是固定的,位置必須在src下,名稱必須在hibernate.cfg.xml。
包含數據庫信息、hibernate信息、把映射文件放進來:
(6)寫一個測試類,實現添加操作:
> 第一步 加載hibernate核心配置文件
> 第二步 創建SessionFactory對象
> 第三步 使用SessionFactory創建session對象
> 第四步 開啓事務
> 第五步 寫具體的crud操作
> 第六步 提交事務
> 第七步 關閉資源
4.Hibernate配置文件詳解:
Hibernate映射配置文件:
(1)映射配置文件的名稱和位置沒有固定的要求
(2)映射文件中,標籤name屬性值寫實體類相關的內容
class標籤name屬性值是實體類的全路徑
id標籤和property標籤name屬性值是實體類屬性的名稱
(3)id標籤和property標籤的column屬性是可是省略的,一旦省略後,就和name屬性值是一樣的。
(4)property標籤type屬性,設置生成表字段的類型,自動對應類型。
Hibernate核心配置文件:
(1)核心配置文件的名稱和位置都是固定的,位置必須在src下,名稱必須在hibernate.cfg.xml。
5.Hibernate核心API:
Configuration:
SessionFactory: 在創建sessionFactory過程中,這個過程是非常消耗資源的
延伸一下,既然非常消耗資源,那麼能不能創建一個工具類,使得一個項目只創建一個sessionFactory對象:
具體實現:寫一個工具類,寫靜態代碼塊實現。
Session(重點)
(1)session類似於jdbc中connection
(2)調用session裏面的不同的方法實現crud操作
添加-->save方法
修改-->update方法
刪除-->delete方法
根據id查詢-->get方法
(3)session對象是一個單線程對象,只能一個人使用,不能共用。
Transaction:
(1)事務對象
(2)事務提交和回滾方法
tx.commit();
tx.rollback();