配置JDBC的鏈接:
java
<!--配置數據庫的驅動程序,Hibernate在鏈接數據庫時,須要用到數據庫的驅動程序--> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <!--設置數據庫的鏈接url:jdbc:mysql://localhost/hibernate,其中localhost表示mysql服務器名稱,此處爲本機, hibernate是數據庫名--> <property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate</hibernate> <!--鏈接數據庫是用戶名--> <property name="hibernate.connection.username">root</property> <!--鏈接數據庫是密碼--> <property name="hibernate.connection.password">123456</property> <!--數據庫鏈接池的大小--> <property name="hibernate.connection.pool.size">20</property>
2.配置c3p0鏈接池:mysql
<!--用c3p0鏈接池鏈接所容許的最大鏈接數--> <property name="hibernate.c3p0.max_size">20</property> <!-- c3p0所容許的最少鏈接數 --> <property name="hibernate.c3p0.min_size">1</property> <!-- 指定鏈接池鏈接失效的時間 --> <property name="hibernate.c3p0.timeout">50</property> <!-- 指定鏈接池緩存最大的存儲多少個statement --> <property name="hibernate.c3p0.max_statements">100</property> <!-- hibernate.c3p0.timeout表示鏈接對象多長時間應該被銷燬, 注意,是」應該「,可是誰來銷燬它呢,須要一個線程按照hibernate.c3p0.idle_test_period 設定的時間間隔去自動校驗這些連接對象並銷燬timeout的 --> <property name="hibernate.c3p0.idle_test_period">30</property> <!-- 當鏈接池裏面的鏈接用完的時候,C3P0一下獲取的新的鏈接數 --> <property name="hibernate.c3p0.acquire_increment">2</property>
3.其餘配置:
sql
<!-- 鏈接數據庫的數據庫方言 --> <property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> <!--是否在後臺顯示Hibernate用到的SQL語句,開發時設置爲true,便於差錯,程序運行時能夠在Eclipse的控制檯顯示H ibernate的執行Sql語句。項目部署後能夠設置爲false,提升運行效率--> <property name="hibernate.show_sql">true</property> <!--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> <!--connection.characterEncoding鏈接數據庫時數據的傳輸字符集編碼方式,最好設置爲gbk,用gb2312有的字符不全--> <property name="connection.characterEncoding">gbk</property>
4.二級緩存配置屬性:數據庫
屬性名 | 用途 |
hibernate.cache.provider_class | 指定CacheProvider的類名 |
hibernate.cache.use_minnimal_puts | 以更頻繁的讀操做做爲代價,將寫操做減到最少從而達到優化二級緩存的目的,對集羣緩存更有效 |
hibernate.cache.use_query_cache | 設置是否啓用查詢緩存,個別查詢須要設置該屬性 |
hibernate.cache.use_second_level_cache | 能夠使用這個屬性徹底禁用二級緩存 |
hibernate.cache.query_cache_factory | 指定QueryCache接口的實現類類名 |