1、connection.url:數據庫url【jdbc:mysql://localhost:3306/test】
2、connection.driver_class:數據庫JDBC驅動
3、connection.username:數據庫用戶名
4、connection.password:數據庫用戶密碼
5、dialect:配置數據庫方言,hibernate根據底層數據庫的不同產生不同的數據庫,並對訪問進行優化
6、hbm2ddl.auto的可選值 a、create:每次都新創建數據包但session關閉後不會刪除表
b、create-drop:每次都會創建數據表但session關閉後會刪除表
c、update:會創建表,若hbm.xml文件和數據表結構不同,hibernate將會更新表結構但不會刪除已有的行和列,且session關閉後不會刪除表
d、validate:不會創建表,會和數據庫中程度表進行比較,若hbm.xml文件中的列在數據庫表中不存在,則會拋出異常
7、show_sql:是否在控制檯打印sql語句,取值 true | false
8、format_sql:是否格式化打印的sql語句,取值 true | false
9、hibernate.jdbc.fetch_size:實質是調用Statement.setFetchSize()方法設定JDBC的Statement讀取數據的時候每次從數據庫中取出的記錄條數。
理論上該值越大,讀取數據庫的次數越少,速度越快。並不是所有數據庫都支持該屬性,oracle支持,mysql不支持。
10、hibernate.jdbc.batch_size:設定數據庫進行批量刪除、批量更新、批量插入時的批次大小。類似於設置緩衝區的意思。
理論上該值越大,批量操作時向數據庫發送sql的次數越少,速度就越快。【oracle數據庫設置爲30時比較合適】
11、c3p0數據庫連接池相關
配置c3p0數據源的步驟:
1.加入c3p0的jar文件並加入到類路徑下,jar文件可以到如下目錄查找:\hibernate-distribution-3.6.0.Final-dist\lib\optional\c3p0
2.除數據庫的基本配置信息外,還須在hibernate.cfg.xml的文件中單獨配置c3p0數據源
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
以上屬性用來告訴hibernate配置文件使用c3p0數據源。
另外還可以配置c3p0的相關屬性:
hibernate.c3p0.max_size: 數據庫連接池的最大連接數
hibernate.c3p0.min_size: 數據庫連接池的最小連接數
hibernate.c3p0.timeout: 數據庫連接池中連接對象在多長時間沒有使用過後,就應該被銷燬
hibernate.c3p0.max_statements: 緩存 Statement 對象的數量
hibernate.c3p0.idle_test_period: 表示連接池檢測線程多長時間檢測一次池內的所有鏈接對象是否超時,連接池本身不會把自己從連接池中移除,而是專門有一個線程按照一定的時間間隔來做這件事,這個線程通過比較連接對象最後一次被使用時間和當前時間的時間差來和 timeout 做對比,進而決定是否銷燬這個連接對象。
hibernate.c3p0.acquire_increment: 當數據庫連接池中的連接耗盡時, 同一時刻獲取多少個數據庫連接
hibernate.c3p0.validate: 是否每次連接都驗證連接是否可用
以上屬性可以在hibernate.properties文件中搜索c3p0找到
注:hibernate.cfg.xml配置文件在src目錄下