更新時間:2022-02-11 10:45:57 來源:動力節點 瀏覽887次
Hibernate 框架用于與作為Java對象的數據庫記錄進行交互,反之亦然。
它將java對象保存/更新為數據庫記錄,將數據庫記錄獲取為java對象等。
Hibernate 使用其Session對象執行數據庫交互。會話對象是在SessionFactory的幫助下檢索的。
此SessionFactory與特定數據庫相關。
因此,為了初始化SessionFactory,需要數據庫連接參數,如數據庫類型、主機、端口、用戶名、密碼等。
Hibernate 配置涉及將這些參數提供給應用程序,以便它能夠創建SessionFactory。
Hibernate 可以通過以下三種方式進行配置:
使用 XML 文件
使用屬性文件
程序化配置
Hibernate 可以使用默認命名為hibernate.cfg.xml的 XML 文件進行配置。
該文件具有各種屬性標記,其名稱屬性引用特定屬性,值引用該屬性的值。
一個典型的 XML 配置文件如下所示。
<!DOCTYPE hibernate-configuration PUBLIC “-//Hibernate/Hibernate Configuration DTD 3.0//EN” “http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd”>
<hibernate-configuration>
<session -factory> <property name = “show_sql” >true </property> <property name = “connection.driver.class” >com.mysql.jdbc.Driver </property> <property name = “connection.url” >jdbc :mysql://localhost:3306/codippa </property> <property name = “connection.username” >root </property> <屬性名稱=
“connection.password” >root </property> <property name = “dialect” >org.hibernate.dialect.MySQLDialect </property> </session-factory> </hibernate-configuration>
如上所示使用 XML 文件配置 Hibernate 時,將需要以下代碼:
配置cfg =新配置();
cfg。配置(“hibernate.cfg.xml” );
// 建立會話工廠
SessionFactory sessionFactory = cfg. 構建會話工廠() ;
// 獲取會話
會話會話 = sessionFactory。獲取當前會話();
會議。開始交易();
系統。出來。println ( session.isConnected ( )) ;
// 關閉會話
會議。關閉();
系統。出來。println ( session.isConnected ( )) ;
上面的代碼創建一個對象并使用它的方法org.hibernate.cfg.Configuration構建一個。現在,與數據庫交互并需要數據庫連接參數。org.hibernate.SessionFactorybuildSessionFactory
SessionFactory
這些是從上面創建的表單的配置文件中提供給它的。配置對象使用其方法
加載此文件。一旦創建,它就可以用來創建一個.configure
SessionFactoryorg.hibernate.Session
這是配置 Hibernate 的另一種方法,它是一個簡單的屬性文件,它是名稱-值對的組合。
屬性文件的快照如下所示:
hibernate.dialect = org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class = com.mysql.jdbc.Driver
hibernate.connection.url = jdbc:mysql://localhost:3306/codippa
hibernate.connection.username = root
hibernate。連接.密碼=根
屬性名稱是重要的,也就是說,屬性的名稱不能更改,只能更改它們的值以匹配數據庫設置。
使用屬性文件連接到數據庫所需的代碼如下所示。
代碼將類路徑中的屬性文件顯式加載到對象中,并通過其方法java.util.Properties將此屬性對象提供給 a 。從配置創建的方法保持不變。org.hibernate.cfg.ConfigurationsetProperties
SessionFactory
配置cfg =新配置();
屬性 p =新屬性() ;
//加載屬性文件
頁。加載(線程。currentThread ()。getContextClassLoader ()。getResourceAsStream (“hibernate.properties” ));
cfg。設置屬性( p ) ;
// 建立會話工廠
SessionFactory 工廠 = cfg。構建會話工廠() ;
// 獲取會話
會話會話 = 工廠。打開會話();
系統。出來。println ( session.isConnected ( )) ;
// 關閉會話
會議。關閉();
系統。出來。println ( session.isConnected ( )) ;
這種方法不需要任何外部 XML 或屬性文件。
所有必需的配置參數都由代碼本身提供。有關此方法的詳細信息,請參閱本文。
讓我們調整一下:
Hibernate.cfg.xml或Hibernate.properties應該存在于src文件夾或src/main/resources文件夾下。
如果在沒有任何參數的情況下調用configure方法,那么 Hibernate默認org.Hibernate.cfg.Configuration會搜索名為hibernate.cfg.xml的文件。
使用屬性文件或 xml 文件配置 Hibernate 時,該文件應位于應用程序類路徑中。
SessionFactory 負責單個數據庫。
如果您的應用程序與許多數據庫交互,那么您將需要多個 Session 工廠。
Aorg.hibernate.Session表示單個工作單元,并為每個操作打開和關閉。
SessionFactory 是一個全局對象,應該在應用程序中只初始化一次。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習