Hibernate配置檔案和核心配置檔案及其API詳解
阿新 • • 發佈:2019-02-16
Hibernate對映配置檔案
- 對映配置檔名稱和位置沒有固定要求
- 對映配置檔案中,標籤name屬性值寫實體類相關內容
- class標籤name屬性值實體類全路徑 table是你想要建立的資料表名
- id標籤和property標籤name屬性值 實體類屬性名稱
- id標籤和property標籤 column屬性可以省略的
- 不寫值column和name屬性值一樣的
- property標籤type屬性,設定生成表字段的型別,自動對應型別
Hibernate核心配置檔案
- 配置寫位置要求
<hibernate -configuration><session-factory >
配置三部分要求
- 資料庫部分必須的
- hibernate部分可選的
- 對映檔案必須的
核心配置檔案和位置固定的
- 位置:src
- 名稱:hibernate.cfg.xml
Hibernate核心 api
(1).Configuration
- 程式碼
Configuration cfg=new Configuration();
c.configure();
- 到src下面找到名稱hibernate.cfg.xml配置檔案 建立物件 把配置檔案放到物件裡面(載入核心配置檔案)
(2).SessionFactory
- 使用configuration物件建立sessionFactory物件
- 建立sessionFactory過程中做事情
- 根據核心配置檔案中 有資料庫配置 有對映檔案部分 到資料庫裡面根據對映關係把表建立
<property name=”hibernate.hbm2ddl.auto”>update</property>
SessionFactory sessionFactory=cfg.buildSessionFactory();
建立sessionFactory過程中 這個過程特別耗資源的
- 所以在hibernate操作中,建議一個專案一般建立一個sessionFactory物件
具體實現
- 寫工具類 寫靜態程式碼塊實現
- 靜態程式碼塊在類載入時候執行 執行一次
public class HibernateUtils {
static Configuration cfg=null;
static SessionFactory sessionFactory=null;
//靜態程式碼塊實現
static {
//載入核心配置檔案
cfg=new Configuration();
cfg.configure();
sessionFactory=cfg.buildSessionFactory();
}
//提供方法返回sessionFactory
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
SessionFactory sessionFactory=HibernateUtils.getSessionFactory();
(3).Session
- Session類似於jdbc中的connection
- 呼叫session裡面不同的方法實現crud操作
- 新增save方法
- 修改update方法
- 刪除delete方法
- 根據id查詢get方法
- Session物件單執行緒物件
- session物件不能共用,只能自己使用
(4).Transaction
- 事務物件
Transaction tx=session.beginTransaction():
- 事務提交和回滾方法
tx.commit();
tx.rollback();
- 事務概念
- 事務四個特性:原子性,一般性,隔離性,永續性