更新時間:2022-12-20 11:25:18 來源:動力節點 瀏覽814次
HBM的全稱是Hibernate Mapping。它是一個 XML 文件 ,我們在其中定義了 POJO 類到數據庫表和 POJO 類變量到表列之間的映射。 資源文件 hibernate.cfg.xml,支持表示Hibernate配置信息。 描述 JDBC 連接信息的 connection.driver_class、connection.URL、connection.username 和 connection.password 屬性元素。connection.pool_size 用于配置Hibernate 內置的連接池有多少個連接到池中。 Hibernate XML映射文件,包含Java類與數據庫表的映射關系。它通常名為“xx.hbm.xml”,在 Hibernate 配置文件“hibernate.cfg.xml”中表示。
例如,映射文件 (hbm.xml) 在“映射”標簽中提到。
<休眠配置>
<會話工廠>
<property name="hibernate.bytecode.use_reflection_optimizer">假</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">密碼</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/demo</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">真</property>
<mapping resource="com/demo/common/HiberDemo.hbm.xml"></mapping>
</會話工廠>
</休眠配置>
以編程方式添加 Hibernates 映射文件 (hbm.xml):
Hibernate 為開發人員提供了一種從技術上添加映射文件的方法。
讓我們通過將“ hbm.xml ”文件路徑作為參數傳遞給 addResource() 方法來修改默認的 Hibernate SessionFactory 類:
SessionFactory sessionFactory = new Configuration().addResource(“com/demo/commonStock.hbm.xml”).buildSessionFactor();
HibernateUtil.java 示例,以編程方式加載 Hibernate XML 映射文件 demo.hbm.xml”:
導入 org.hibernate.SessionFactory;
導入 org.hibernate.cfg.Configuration;
公共類 HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
私有靜態 SessionFactory buildSessionFactory() {
嘗試 {
會話工廠 sessionFactory = new Configuration()
.configure("/com/demo/persistence/hibernate.cfg.xml")
.addResource("com/demo/common/Stock.hbm.xml")
.buildSessionFactory();
返回會話工廠;
} 抓住(可拋出的 e){
System.err.println("初始 SessionFactory 創建失敗。" + e);
拋出新的 ExceptionInInitializerError(e);
}
}
有兩個屬性元素聲明了 Event 類的其余兩個屬性:即日期和標題。
日期屬性映射包括列屬性,但標題沒有。當沒有列屬性時,Hibernate 使用屬性名作為列名。這適用于標題,但由于日期是大多數數據庫中的保留關鍵字。
公共靜態 SessionFactory getSessionFactory() {
返回會話工廠;
}
公共靜態無效關閉(){
// 關閉緩存和連接池
getSessionFactory().close();
}
}
hibernate 中有兩種映射方式——第一種是使用 hibernate 注釋,第二種是使用 hbm.xml。
當我們使用 hbm.xml 時,只需修改 hibernate-cfg.xml 中的默認 hibernate SessionFactory 類,繞過您的“hbm.xml”文件路徑作為資源方法的參數。
示例: 這里,我們以員工表為例。
Employee.hbm.xml 文件是您的 hbm.xml 文件,其中映射了表列及其類型。
員工.hbm.xml
<休眠映射>
<class name="net.roseindia.table.Employee" table="employee">
<id name="empId" type="int" column="emp_id">
<generator class="native" />
</id>
<property name="EmpName" type="string" column="emp_name" />
<property name="salary" type="int" column="emp_salary" />
<property name="designation" type="string" column="designation" />
<property name="address" type="string" column="address" />
</類>
</休眠映射>
hibernate-cfg.xml 是你映射hbm.xml的hibernate的配置文件
<休眠配置>
<會話工廠>
<!-- 數據庫連接設置 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- JDBC連接池(使用內置)-->
<property name="connection.pool_size">1</property>
<!-- SQL 方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 啟用 Hibernate 的自動會話上下文管理 -->
<property name="current_sesion_context_class">線程</property>
<!-- 禁用二級緩存 -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- 將所有執行的 SQL 回顯到標準輸出 -->
<property name="show_sql">真</property>
<property name="hbm2ddl.auto">無</property>
<mapping resource="Employee.hbm.xml"/>
</會話工廠>
</休眠配置>
通過上述介紹,相信大家對Hibernate配置文件的方法已經有所了解,大家如果想了解更多相關知識,不妨來關注一下本站的Hibernate入門視頻,里面的課程內容細致全面,由淺到深,適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習