Hibernate.cfg.xml配置文件结构详解
生活随笔
收集整理的這篇文章主要介紹了
Hibernate.cfg.xml配置文件结构详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Hibernate中配置主要分為兩種:
一種包含了Hibernate與數據庫的基本連接信息,在Hibernate工作的初始階段,這些信息被先后加載到Configuration和SessionFactory實例;
另一種包含了Hibernate的基本映射信息,即系統中每一個類與其對應的數據庫表之間的關聯信息,在Hibernate工作的初始階段,這些信息通過hibernate.cfg.xml的mapping節點被加載到Configuration和SessionFactory實例。這兩種文件信息包含了Hibernate的所有運行期參數。下面我們用詳細的例子來說明這兩種文件的基本結構和內容。
<?xml version='1.0' encoding='UTF-8'?> <!--表明解析本XML文件的DTD文檔位置,DTD是Document Type Definition 的縮寫,即文檔類型的定義,XML解析器使用DTD文檔來檢查XML文件的合法性。hibernate.sourceforge.net/hibernate-configuration-3.0dtd可以在Hibernate3.1.3軟件包中的src\org\hibernate目錄中找到此文件--> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <!--Hibernate配置文件的根元素,其他文件要包含在其中--> <hibernate-configuration> <!--表明以下的配置是針對session-factory配置的,SessionFactory是Hibernate中的一個類,這個類主要負責保存HIbernate的配置信息,以及對Session的操作--> <session-factory> <!-- 1,數據庫連接信息: --> <!--配置數據庫的驅動程序,Hibernate在連接數據庫時,需要用到數據庫的驅動程序--> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver </property> <!--設置數據庫的連接url:jdbc:mysql://localhost:3306/dbname,其中localhost表示mysql服務器名稱,此處為本機, dbname是數據庫名--> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/dbname</property> <!--連接數據庫是用戶名--> <property name="hibernate.connection.username">root </property> <!--連接數據庫是密碼--> <property name="hibernate.connection.password">123456 </property> <!--hibernate.dialect 只是Hibernate使用的數據庫方言,就是要用Hibernate連接那種類型的數據庫服務器。--> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect </property> <!-- 以下信息可選 --><!--jdbc.use_scrollable_resultset是否允許Hibernate用JDBC的可滾動的結果集。對分頁的結果集。對分頁時的設置非常有幫助--> <property name="jdbc.use_scrollable_resultset">false </property> <!--connection.useUnicode連接數據庫時是否使用Unicode編碼--> <property name="Connection.useUnicode">true </property> <!--connection.characterEncoding連接數據庫時數據的傳輸字符集編碼方式,--> <property name="connection.characterEncoding">utf-8 </property> <!--2,數據庫連接池信息:--> <property name="hibernate.connection.pool.size">20 </property> <!-- 指定連接池的最大連接個數,使用連接池需要加載所有的鏈接池的JAR文件,JAR文件在Hibernate文件夾下的“lib\optional\c3p0”中 --> <property name="hibernate.c3p0.max_size">30</property><property name="hibernate.c3p0.min_size">10</property> <property name="hibernate.c3p0.timeout">5000</property><!-- 指定連接池里連接超時時長,即最大時間 --> <!--3,數據庫一次操作時的記錄數::--> <!--jdbc.fetch_size是指Hibernate每次從數據庫中取出并放到JDBC的Statement中的記錄條數。Fetch Size設的越大,讀數據庫的次數越少,速度越快,Fetch Size越小,讀數據庫的次數越多,速度越慢--> <property name="jdbc.fetch_size">50 </property> <!--jdbc.batch_size是指Hibernate批量插入,刪除和更新時每次操作的記錄數。Batch Size越大,批量操作的向數據庫發送Sql的次數越少,速度就越快,同樣耗用內存就越大--> <property name="jdbc.batch_size">23 </property> <!--4,是否顯示sql:--> <!--是否在后臺顯示Hibernate用到的SQL語句,開發時設置為true,便于差錯,程序運行時可以在Eclipse的控制臺顯示Hibernate的執行Sql語句。項目部署后可以設置為false,提高運行效率--> <property name="hibernate.show_sql">true </property> <!--create: 先刪表,再建表。create-drop: 啟動時建表,退出前刪表。update: 如果表結構不一致,就創建或更新。validate: 啟動時驗證表結構,如果不致就拋異常。--><property name="hibernate.hbm2ddl.auto">update</property><!-- 5,開啟二級緩存使用: --> <property name="hibernate.cache.use_second_level_cache">true</property><propertyname name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</propertyname><!-- 指定緩存產品所需的類 --><property name="hibernate.cache.use_query_cache">true</property><!-- 啟用查詢緩存 --><!--6,指定映射文件,可映射多個映射文件--> <mapping resource="org/mxg/UserInfo.hbm.xml"> </session-factory> </hibernate-configuration>
總結
以上是生活随笔為你收集整理的Hibernate.cfg.xml配置文件结构详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: myeclipse添加使用hiberna
- 下一篇: hibernate中的PO持久化对象及P