1. 程式人生 > >Hibernate配置檔案和核心配置檔案及其API詳解

Hibernate配置檔案和核心配置檔案及其API詳解

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();
  • 事務概念
    • 事務四個特性:原子性,一般性,隔離性,永續性