Hibernate核心配置 --- Hibernate入門學習之常見設定三部曲之三
敘:之前學習了hibernate的約束的匯入以及以及約束檔案的配置,現在學習hibernate的核心配置檔案的配置;
Hibernate核心配置
首先,hibernate中核心配置檔案有兩種形式,一種是屬性檔案的方式另一種是XML檔案形式,但一般情況下用的是XML檔案形式進行配置的,因為屬性檔案方式不能引入對映檔案(只能通過手動編寫程式碼載入對映檔案);
我們瞭解一下hibernate核心配置檔案是幹什麼的,光用嘴說肯定是不行的,先看看整體的程式碼,通過程式碼解讀得到其配置的目的和達到的功能,程式碼如下所示:
整體程式碼:
<hibernate-configuration >
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect
</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver
</property>
<property name="hibernate.connection.url">jdbc:mysql:///hibernate_day001
</property >
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<mapping resource="com/java/hibernate/demo1/Customer.hbm.xml" />
</session-factory>
</hibernate-configuration>
程式碼標籤以及屬性介紹:
標籤名 | 包含屬性 | 屬性值 | 標籤設定值 | 備註 |
---|---|---|---|---|
hibernate-configuration | 暫無 | 暫無 | 暫無 | hibernate框架中核心配置主體 |
session-factory | 暫無 | 暫無 | 暫無 | session連線所要使用的配置;session工廠 |
property | name | hibernate.dialect | org.hibernate.dialect.MySQLDialect | 資料庫方言(重要),這是其中那個一種,根據資料庫版本、資料庫類別進行相應匹配; |
property | name | hibernate.connection.driver_class | com.mysql.jdbc.Driver | 資料驅動類設定 |
property | name | hibernate.connection.url | jdbc:mysql:///hibernate_day001 | 資料庫連結的URI(現在使用的是本地連線) |
property | name | hibernate.connection.username | XXX | 配置資料庫使用者名稱 |
property | name | hibernate.connection.password | XXX | 配置資料庫使用者密碼 |
property | name | hibernate.hbm2ddl.auto | update(還有其他的下邊介紹到) | 設定在資料庫中無此表的時是自動建立還是其他操作 |
mapping | resource | com/java/hibernate/demo1/Customer.hbm.xml | 暫無 | 配置引入ORM源路徑,載入對映檔案 |
上面的就是hibernate框架中常用的幾個標籤以及屬性,下面對標籤進行使用程度劃分以及大概的解釋:
必須要配置
一、連線資料庫的引數:
1. 驅動類:hibernate.connection.driver_class
2. url路徑:hibernate.connection.url
3. 連線資料庫的使用者名稱:hibernate.connection.username
4. 連線資料庫的密碼:hibernate.connection.password
二、方言設定:hibernate.dialect
這個是負責配置使用哪種資料庫進行資料庫操作的,因為hibernate是面向物件的資料庫操作,對各種資料庫以及資料庫版本都需要進行支援,因此需要配置方言進行資料庫使用選擇;此例中使用的是MySQL的;
以上五項是hibernate框架中核心配置所必需的;
可選配置
1. 在控制檯上顯示sql語句;hibernate.show_sql 標籤值: true/false(顯示/不顯示)
2. 控制檯上顯示的sql語句是否格式化;hibernate.format_sql 標籤值: true/false(格式化/不格式化)
3. 在操作的資料無此表的情況下;hibernate.hbm2ddl.auto
———–1)None:不自動建立表;
———–2)Create:無此表的情況下建立此表,若之前存在此表則先刪除此表再進行建立(一般用於測試);
———–3)Create-drop:建立此表,若之前存在此表則先刪除此表再進行建立,並在使用後刪除此表(一般用於測試);
———–4)Update:如存在此表,則執行更新表結構操作,若是無此表則進行建立;
———–5)Validate:如無此表不進行操作,只會使用已存在的表,不做任何對錶的修改,自帶校驗功能。(用於檢測實體類與資料表對映和表結構)。一般經常用的就是update和validate;
4. 在核心配置中可以配置資料庫連線池,hibernate中有自己的連線池,可以手動陪自己的,但是手動配置時需要匯入相應的jar包,並且在配置後在編寫程式碼的時候需要有手動關閉連線釋放資源的程式碼;
特殊配置
1. 引入ORM源路徑:mapping標籤的resource屬性,其屬性值是要配置的對映檔案的全路徑(從src下到這個檔名稱);
注意:property標籤必須在mapping標籤之上,也就是說配置資訊必須載入完才能引入ORM源路徑,才能和對映檔案進行關聯;
hibernate配置的作用:
通過上面的介紹後,我們不難看出,hibernate框架的核心配置檔案的功能有這麼幾項:
1. 配置所用資料庫的種類型別(方言)、資料庫種類和版本號、資料庫無表情況下的建表機制;
2. 引入ORM源路徑,載入對映檔案;
用程式碼看出其功能是這些,到後期會根據功能需求的增加會相應的增加設定;
Pass:Hibernate的核心配置入門中就這麼多,其他的到後期才會用到,用到時在進行詳細記錄;