Hibernate基礎配置選項主要圍繞SessionFactory展開:
在hibernate.cfg.xml配置文件中,我們可以通過mapping節點配置需要加載的Hibernate映射文件,如果選用了propertie
形式的配置文件(hibernate.properties),由于缺乏相應的配置條目,這時候就需要通過編碼進行加載:
Configuration cfg = new Configuration().addFile("TUser.hbm.xml").addClass(com.redsage.db.entity.TGroup.class)
1、添加位于CLASSPATH根目錄下的TUser.hbm.xml映射文件
2、以class形式加載映射實體類com.readsage.db.entity.TGroup
在Hibernate中,可以設置2種數據庫訪問策略:一種是根據指定的JDBC參數進行數據庫連接,由Hibernate來完成連接管
理過程:另外一種則是通過JNDI完成數據庫連接獲取。
1、數據庫適配器
hibernate.dialect net.sf.hibernate.dialect.MySQLDialect
2、數據庫JDBC驅動類
hibernate.connection.driver_class com.mysql.jdbc.Driver
JNDI配置:
hibernate.connection.datasource jdbc/test
3、數據庫URL
hibernate.connection.url jdbc:mysql://localhost/sample
4、數據庫用戶名
hibernate.connection.username root
5、數據庫密碼
hiberante.connection.password
當我們使用JDBC方式訪問數據庫時,可以為其指定數據庫連接池實現,目前Hibernate支持4種連接池實現組件:
C3P0:
hibernate.c3p0.max_size 2
hibernate.c3p0.min_size 2
//獲得連接的超時時間,如果超過這個時間,會拋出異常,單位毫秒
hibernate.c3p0.timeout 5000
//最大的PreparedStatement的數量
hibernate.c3p0.max_statements 100
//每隔3000秒檢查連接池里的空閑連接 ,單位是秒
hibernate.c3p0.idle_test_period 3000
//當連接池里面的連接用完的時候,C3P0一下獲取的新的連接數
hibernate.c3p0.acquire_increment 2
//每次都驗證連接是否可用
hibernate.c3p0.validate false
hibernate.connection.provider_class net.sf.hibernate.connection.C3p0ConnectionProvider
解釋:
hibernate.c3p0.timeout,這個表示連接池中的連接對象在多長時間沒有使用過后,就應該被銷毀
hibernate.c3p0.idle_test_period ,這個表示連接池檢測線程多長時間檢測一次池內的所有鏈接對象是否超時
注意:連接對象自己不會把自己從連接池中移除,而是專門有一個線程按照一定的時間間隔
(hibernate.c3p0.idle_test_period )來做這件事,這個線程通過比較連接對象最后一次被使用時間和當前時間的時間差來
和hibernate.c3p0.timeout做對比,進而決定是否銷毀這個連接對象。
DBCP:
//連接池的最大活動個數
hibernate.dbcp.maxActive 100
//當連接池中的連接已經被耗盡的時候,DBCP將怎樣處理( 0 = 失敗, 1 = 等待, 2= 增長)
hibernate.dbcp.whenExhaustedAction 1
//最大等待時間
hibernate.dbcp.maxWait 120000
//沒有人用連接的時候,最大閑置的連接個數。
hibernate.dbcp.maxIdle 10
hibernate.dbcp.ps.maxActive 100
hibernate.dbcp.ps.whenExhaustendAction 1
hibernate.dbcp.ps.maxWait 120000
hibernate.dbcp.ps.maxIdle 10
//給出一條簡單的sql語句進行驗證
hibernate.dbcp.validationQuery select 1 from dual
//在取出連接時進行有效驗證
hibernate.dbcp.testOnBorrow true
//在放回連接時進行有效驗證
hibernate.dbcp.testOnreturn false
//Hibernate已經實現了DBCP Provider實現,別忘了在下面的鍵值去掉#字符
hibernate.connection.provider_class net.sf.hibernate.connection.DBCPConnectionProvider
只有注冊用戶登錄后才能發表評論。 | ||
![]() |
||
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關文章:
|
||
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
27 | 28 | 29 | 30 | 1 | 2 | 3 | |||
4 | 5 | 6 | 7 | 8 | 9 | 10 | |||
11 | 12 | 13 | 14 | 15 | 16 | 17 | |||
18 | 19 | 20 | 21 | 22 | 23 | 24 | |||
25 | 26 | 27 | 28 | 29 | 30 | 31 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 |
常用鏈接
留言簿(1)
隨筆分類
隨筆檔案
關注blogs
- Anders小明的Blog
- DWR學習手冊
- IBM解決方案
- j2ee api
- JavaEye Java
- java技術賽迪網
- jdk詳解
- J道論壇
- mldn解惑
- robbin的自言自語
- SpringFramework中文論壇
- validation詳細解釋
- 一只小螞蟻
- 中國it實驗室
- 啊密果
- 當當網
- 林信良學習筆記
- 灰狐動力
- 鼠標的咖啡屋
搜索
最新評論

- 1.?re: 心中的那個她[未登錄]
- 如果心情能那么容易放開就好了,碰到她是我的緣分,但是她的緣分不知道在哪里。
- --王永慶
- 2.?re: 心中的那個她[未登錄]
- 兄弟,喜歡就大膽去追好了,就是因為喜歡才會有不愉快,如果想一輩子沒有這些煩惱,找一個可有可無的人就好了。這種事講的是緣分吧。別人對你好不好其實不太重要。放開心情就好了。
- --萍水相逢
- 3.?re: 心中的那個她
- 只能同甘不能共苦,就他媽算了吧,程序員也是人啊!我現在也很討厭女的不理解人情。
- --咖啡妝
- 4.?re: 難以割舍的那份情感
- 評論內容較長,點擊標題查看
- --王永慶
- 5.?re: 難以割舍的那份情感
- 評論內容較長,點擊標題查看
- --隔葉黃鶯