BaoYaEr
hibernate.cfg.xml配置
Hibernate的描述文件可以是一個properties屬性文件,也可以是一個xml文件。下面講一下Hibernate.cfg.xml的配置。配置格式如下:
1. 配置數據源
在Hibernate.cfg.xml中既可以配置JDBC,也可以配置JNDI。在本小節中講述數據源如何配置,hibernate.cfg.xml
<?
xml version="1.0" encoding="UTF-8"
?>
<!
DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>
<
hibernate-configuration
>
<
session-factory
>
<!--
各屬性的配置
-->
<!
—為true表示將Hibernate發送給數據庫的sql顯示出來 --
>
<
property
name
="show_sql"
>
true
</
property
>
<!--
SQL方言,這邊設定的是MySQL
-->
<
property
name
="dialect"
>
net.sf.hibernate.dialect.MySQLDialect
</
property
>
<!--
一次讀的數據庫記錄數
-->
<
property
name
="jdbc.fetch_size"
>
50
</
property
>
<!--
設定對數據庫進行批量刪除
-->
<
property
name
="jdbc.batch_size"
>
30
</
property
>
<!
—下面為JNDI的配置 --
>
<!--
數據源的名稱
-->
<
property
name
="connection.datasource"
>
java:comp/env/jdbc/datasourcename
</
property
>
<!--
Hibernate的連接加載類
-->
<
property
name
="connection.provider_class"
>
net.sf.hibernate.connection.DatasourceConnectionProvider
</
property
>
<
property
name
="dialect"
>
net.sf.hibernate.dialect.SQLServerDialect
</
property
>
<!
—映射文件 --
>
<
mapping
resource
="com/amigo/pojo/User.hbm.xml"
/>
<
mapping
resource
="com/amigo/pojo/Org.hbm.xml"
/>
</
session-factory
>
</
hibernate-configuration
>
2. c3p0連接池
c3p0連接池是Hibernate推薦使用的連接池,若需要使用該連接池時,需要將c3p0的jar包加入到classpath中。c3p0連接池的配置示例如下:
<?
xml version="1.0" encoding="UTF-8"
?>
<!
DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>
<
hibernate-configuration
>
<
session-factory
>
<!--
顯示實際操作數據庫時的SQL
-->
<
property
name
="show_sql"
>
true
</
property
>
<!--
SQL方言,這邊設定的是MySQL
-->
<
property
name
="dialect"
>
net.sf.hibernate.dialect.MySQLDialect
</
property
>
<!--
驅動程序,在后續的章節中將講述mysql、sqlserver和Oracle數據庫的配置
-->
<
property
name
="connection.driver_class"
>
……
</
property
>
<!--
JDBC URL
-->
<
property
name
="connection.url"
>
……
</
property
>
<!--
數據庫用戶名
-->
<
property
name
="connection.username"
>
user
</
property
>
<!--
數據庫密碼
-->
<
property
name
="connection.password"
>
pass
</
property
>
<
property
name
="c3p0.min_size"
>
5
</
property
>
<
property
name
="c3p0.max_size"
>
20
</
property
>
<
property
name
="c3p0.timeout"
>
1800
</
property
>
<
property
name
="c3p0.max_statements"
>
50
</
property
>
<!--
對象與數據庫表格映像文件
-->
<
mapping
resource
="com/amigo/pojo/User.hbm.xml"
/>
<
mapping
resource
="com/amigo/pojo/Org.hbm.xml"
/>
</
session-factory
>
</
hibernate-configuration
>
在上述配置中,Hibernate根據配置文件生成連接,再交給c3p0管理。
3. proxool連接池
proxool跟c3p0以及dbcp不一樣,它是自己生成連接的,因此連接信息放在proxool配置文件中。使用它時,需要將proxool-0.8.3.jar加入到classespath中。配置舉例如下:
<?
xml version="1.0" encoding="UTF-8"
?>
<!
DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>
<
hibernate-configuration
>
<
session-factory
>
<!--
顯示實際操作數據庫時的SQL
-->
<
property
name
="show_sql"
>
true
</
property
>
<!--
SQL方言,這邊設定的是MySQL
-->
<
property
name
="dialect"
>
net.sf.hibernate.dialect.MySQLDialect
</
property
>
<!
—proxool的配置 --
>
<
property
name
="proxool.pool_alias"
>
pool1
</
property
>
<
property
name
="proxool.xml"
>
ProxoolConf.xml
</
property
>
<
property
name
="connection.provider_class"
>
net.sf.hibernate.connection.ProxoolConnectionProvider
</
property
>
<!--
對象與數據庫表格映像文件
-->
<
mapping
resource
="com/amigo/pojo/User.hbm.xml"
/>
<
mapping
resource
="com/amigo/pojo/Org.hbm.xml"
/>
</
session-factory
>
</
hibernate-configuration
>
在hibernate.cfg.xml的同目錄下編寫proxool的配置文件:ProxoolConf.xml,該文件的配置實例如下:
ProxoolConf.xml
<?
xml version="1.0" encoding="utf-8"
?>
<!--
the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored.
-->
<
something-else-entirely
>
<
proxool
>
<
alias
>
pool1
</
alias
>
<!--
proxool只能管理由自己產生的連接
-->
<!--
驅動的url
-->
<!--
jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=GBK
-->
<
driver-url
>
…
</
driver-url
>
<!--
驅動類,eg. com.mysql.jdbc.Driver
-->
<
driver-class
>
…
</
driver-class
>
<
driver-properties
>
<!--
數據庫用戶名,eg. value為root
-->
<
property
name
="user"
value
="…"
/>
<!--
數據庫密碼,eg. value為root
-->
<
property
name
="password"
value
="…."
/>
</
driver-properties
>
<!--
proxool自動偵察各個連接狀態的時間間隔(毫秒),偵察到空閑的連接就馬上回收,超時的銷毀
-->
<
house-keeping-sleep-time
>
90000
</
house-keeping-sleep-time
>
<!--
指因未有空閑連接可以分配而在隊列中等候的最大請求數,超過這個請求數的用戶連接就不會被接受
-->
<
maximum-new-connections
>
20
</
maximum-new-connections
>
<!--
最少保持的空閑連接數
-->
<
prototype-count
>
5
</
prototype-count
>
<!--
允許最大連接數,超過了這個連接,再有請求時,就排在隊列中等候,最大的等待請求數由maximum-new-connections決定
-->
<
maximum-connection-count
>
100
</
maximum-connection-count
>
<!--
最小連接數
-->
<
minimum-connection-count
>
10
</
minimum-connection-count
>
</
proxool
>
</
something-else-entirely
>
4. dbcp連接池
在hibernate3.0中,已經不再支持dbcp了,hibernate的作者在hibernate.org中,明確指出在實踐中發現dbcp有 BUG,在某些種情會產生很多空連接不能釋放,所以拋棄了對dbcp的支持。若需要使用dbcp,開發人員還需要將commons-pool-1.2.jar 和commons-dbcp-1.2.1.jar兩個jar包加入到classpath中。dbcp與c3p0一樣,都是由hibernate建立連接的。
hibernate.cfg.xml
<?
xml version="1.0" encoding="UTF-8"
?>
<!
DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>
<
hibernate-configuration
>
<
session-factory
>
<!--
顯示實際操作數據庫時的SQL
-->
<
property
name
="show_sql"
>
true
</
property
>
<!--
SQL方言,這邊設定的是MySQL
-->
<
property
name
="dialect"
>
net.sf.hibernate.dialect.MySQLDialect
</
property
>
<!--
驅動程序,在后續的章節中將講述mysql、sqlserver和Oracle數據庫的配置
-->
<
property
name
="connection.driver_class"
>
……
</
property
>
<!--
JDBC URL
-->
<
property
name
="connection.url"
>
……
</
property
>
<!--
數據庫用戶名,eg. root
-->
<
property
name
="connection.username"
>
…
</
property
>
<!--
數據庫密碼, eg. root
-->
<
property
name
="connection.password"
>
…
</
property
>
<
property
name
="dbcp.maxActive"
>
100
</
property
>
<
property
name
="dbcp.whenExhaustedAction"
>
1
</
property
>
<
property
name
="dbcp.maxWait"
>
60000
</
property
>
<
property
name
="dbcp.maxIdle"
>
10
</
property
>
<
property
name
="dbcp.ps.maxActive"
>
100
</
property
>
<
property
name
="dbcp.ps.whenExhaustedAction"
>
1
</
property
>
<
property
name
="dbcp.ps.maxWait"
>
60000
</
property
>
<
property
name
="dbcp.ps.maxIdle"
>
10
</
property
>
<!--
對象與數據庫表格映像文件
-->
<
mapping
resource
="com/amigo/pojo/User.hbm.xml"
/>
<
mapping
resource
="com/amigo/pojo/Org.hbm.xml"
/>
</
session-factory
>
</
hibernate-configuration
>
5. MySql連接配置
在hibernate中,可以配置很多種數據庫,例如MySql、Sql Server和Oracle,MySql的配置舉例如下:
<?
xml version="1.0" encoding="UTF-8"
?>
<!
DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>
<
hibernate-configuration
>
<
session-factory
>
<!--
各屬性的配置
-->
<!
—為true表示將Hibernate發送給數據庫的sql顯示出來 --
>
<
property
name
="show_sql"
>
true
</
property
>
<!--
SQL方言,這邊設定的是MySQL
-->
<
property
name
="dialect"
>
net.sf.hibernate.dialect.MySQLDialect
</
property
>
<!--
一次讀的數據庫記錄數
-->
<
property
name
="jdbc.fetch_size"
>
50
</
property
>
<!--
設定對數據庫進行批量刪除
-->
<
property
name
="jdbc.batch_size"
>
30
</
property
>
<!--
驅動程序
-->
<
property
name
="connection.driver_class"
>
com.mysql.jdbc.Driver
</
property
>
<!--
JDBC URL
-->
<
property
name
="connection.url"
>
jdbc:mysql://localhost/dbname?characterEncoding=gb2312
</
property
>
<!--
數據庫用戶名
-->
<
property
name
="connection.username"
>
root
</
property
>
<!--
數據庫密碼
-->
<
property
name
="connection.password"
>
root
</
property
>
<!
—映射文件 --
>
<
mapping
resource
="com/amigo/pojo/User.hbm.xml"
/>
<
mapping
resource
="com/amigo/pojo/Org.hbm.xml"
/>
</
session-factory
>
</
hibernate-configuration
>
上面使用的驅動類是com.mysql.jdbc.Driver。需要將MySql的連接器jar包(eg. mysql-connector-java-5.0.4-bin.jar)加入到classpath中。
6. Sql Server連接配置
本小節講述一下Sql Server數據庫的hibernate連接設置,在此只給出連接部分的內容,其余部分與2.2.1.5一樣,在此不再贅述。內容如下:
<!--
驅動程序
-->
<
property
name
="connection.driver_class"
>
net.sourceforge.jtds.jdbc.Driver
</
property
>
<!--
JDBC URL
-->
<
property
name
="connection.url"
>
jdbc:jtds:sqlserver://localhost:1433;DatabaseName=dbname
</
property
>
<!--
數據庫用戶名
-->
<
property
name
="connection.username"
>
sa
</
property
>
<!--
數據庫密碼
-->
<
property
name
="connection.password"
></
property
>
上例的驅動類使用的是jtds的驅動類,因此讀者需要將jtds的jar包(eg. jtds-1.2.jar)加入到classpath中。
7. Oracle連接配置
本小節講述一下Sql Server數據庫的hibernate連接設置,在此只給出連接部分的內容,其余部分與2.2.1.5一樣,在此不再贅述。內容如下:
<!--
驅動程序
-->
<
property
name
="connection.driver_class"
>
oracle.jdbc.driver.OracleDriver
</
property
>
<!--
JDBC URL
-->
<
property
name
="connection.url"
>
jdbc:oracle:thin:@localhost:1521:dbname
</
property
>
<!--
數據庫用戶名
-->
<
property
name
="connection.username"
>
test
</
property
>
<!--
數據庫密碼
-->
<
property
name
="connection.password"
>
test
</
property
>
上例使用的驅動類為:oracle.jdbc.driver.OracleDriver,開發人員需要將相關的jar包(ojdbc14.jar)加入到classpath中。
發表于 2008-01-04 09:12
大田斗
閱讀(34052)
評論(1)
編輯
收藏
所屬分類:
Hibernate
評論
#
re: hibernate.cfg.xml配置
好全啊 .. 棒棒噠 ~ !
junqinag.yang
評論于 2015-11-03 11:22
回復
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
spring+hibernate的clob大字段處理(轉載于javaeye論壇)
hibernate 樂觀鎖與悲觀鎖使用
通用Dao 設計 2
Hibernate 3 Formulas(翻譯)
hibernate集合映射inverse和cascade詳解
采用p6spy完整顯示hibernate的SQL語句 [zt]
spring +hibernate 啟動優化【轉】
Could not initialize proxy - the owning Session was closed ---Hibernate與延遲加載:
hibernate.cfg.xml配置
hibernate部分問題總結
<
2025年7月
>
日
一
二
三
四
五
六
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
8
9
導航
BlogJava
首頁
發新隨筆
發新文章
聯系
聚合
管理
統計
隨筆: 32
文章: 427
評論: 144
引用: 0
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(5)
給我留言
查看公開留言
查看私人留言
隨筆檔案
2008年12月 (1)
2008年4月 (2)
2008年2月 (1)
2008年1月 (1)
2007年12月 (3)
2007年11月 (1)
2007年10月 (3)
2007年7月 (2)
2007年6月 (1)
2007年4月 (2)
2007年3月 (3)
2007年2月 (5)
2007年1月 (3)
2006年12月 (4)
文章分類
axis(6)
(rss)
eclipse(7)
(rss)
Hibernate(30)
(rss)
html/js/css(107)
(rss)
java(106)
(rss)
linux(7)
(rss)
Lucene(7)
(rss)
spring(36)
(rss)
Spring CLOUd(1)
(rss)
Strtus(30)
(rss)
其它(48)
(rss)
開源opensource(48)
(rss)
數據庫DateBase(30)
(rss)
設計模式(12)
(rss)
文章檔案
2018年8月 (1)
2012年5月 (1)
2012年4月 (2)
2011年7月 (6)
2010年3月 (1)
2010年2月 (1)
2010年1月 (3)
2009年12月 (1)
2009年10月 (1)
2009年8月 (3)
2009年3月 (1)
2009年2月 (1)
2008年12月 (3)
2008年11月 (10)
2008年10月 (3)
2008年9月 (2)
2008年8月 (2)
2008年7月 (4)
2008年6月 (13)
2008年5月 (15)
2008年4月 (9)
2008年3月 (10)
2008年1月 (18)
2007年12月 (33)
2007年11月 (6)
2007年10月 (18)
2007年9月 (10)
2007年8月 (18)
2007年7月 (15)
2007年6月 (25)
2007年5月 (19)
2007年4月 (26)
2007年3月 (38)
2007年2月 (33)
2007年1月 (27)
2006年12月 (27)
2006年11月 (12)
java
Ajax特效網站
cndiy nio
GRO
Hani Suleiman's blog
Java之路
java論壇
J道
mule
mule 入門
oksonic(動畫教程)
一路由你
中國eclipse
八進制
在線源碼
多線程實戰
天火
小米的blogjava
幻境伯克----jface/swt
很全的博克-強
每日一得
滿江紅
邢紅瑞
飛翔
鳥詩選(js)
鳥食軒 (dhtml)
工具
apache中文手冊
extjs學習
iconFindre
java 安全
javaresearch
java技巧網
js之王
matrix(study)
prototype api
spring中文
北京IT企業速查
在線流程圖工具
雅虎翻譯
朋友
Happyshow
hibernate異常
skywalker
sunshow
xf
亞光
同云博客
小弟鵬
張玉磊
昕
李陽
黃鳴
搜索
積分與排名
積分 - 1103871
排名 - 28
最新評論
1.?re: hibernate.cfg.xml配置
好全啊 .. 棒棒噠 ~ !
--junqinag.yang
2.?re: Quartz任務調度快速入門
我現在來看還是覺得不錯
--小任
3.?re: js中this的總結
評論內容較長,點擊標題查看
--pam
4.?re: Quartz任務調度快速入門
樓主辛苦
--yd
5.?re: Quartz任務調度快速入門
頂了,內容寫的很好
--sen
閱讀排行榜
1.?網頁不緩存(3561)
2.?Form嵌套引起的問題 (2864)
3.?解決IE下CSS背景圖片閃爍的Bug(2455)
4.?Spring AOP的動態載入原理(2412)
5.?如何制作漂亮的Excel表格(2053)
評論排行榜
1.?北京戶口--吃官司(5)
2.?開始→運行→輸入的命令集錦(3)
3.?讓網頁上的所有圖片動起來(2)
4.?Dom4j 編碼問題徹底解決 (1)
5.?心情不爽(1)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 大田斗
主站蜘蛛池模板:
亚洲不卡AV影片在线播放
|
亚洲最新永久在线观看
|
成人片黄网站色大片免费观看cn
|
好看的亚洲黄色经典
|
91精品视频在线免费观看
|
91黑丝国产线观看免费
|
亚洲大尺度无码无码专线一区
|
男男AV纯肉无码免费播放无码
|
深夜特黄a级毛片免费播放
|
国产AV无码专区亚洲A∨毛片
|
在线观看视频免费完整版
|
一级毛片a免费播放王色
|
亚洲欧洲在线播放
|
亚洲高清中文字幕免费
|
人妖系列免费网站观看
|
亚洲精品一区二区三区四区乱码
|
99re热精品视频国产免费
|
亚洲伊人tv综合网色
|
免费a级毛片无码av
|
久久99九九国产免费看小说
|
国产男女爽爽爽免费视频
|
亚洲AV无码乱码麻豆精品国产
|
曰韩亚洲av人人夜夜澡人人爽
|
a级毛片免费高清毛片视频
|
国产精品亚洲综合五月天
|
亚洲精品蜜桃久久久久久
|
国产免费人视频在线观看免费
|
59pao成国产成视频永久免费
|
www亚洲精品久久久乳
|
久久亚洲精品成人av无码网站
|
免费人成在线观看网站视频
|
国产麻豆免费观看91
|
97av免费视频
|
免费无码又爽又刺激一高潮
|
日韩亚洲人成在线综合
|
亚洲欧美中文日韩视频
|
亚洲欧洲高清有无
|
亚洲∧v久久久无码精品
|
亚洲熟伦熟女新五十路熟妇
|
久久精品国产亚洲AV久
|
亚洲AV无码久久精品狠狠爱浪潮
|