baoyaer
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
>
<
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
>
<
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
>
<
property
name
="show_sql"
>
true
property
>
<
property
name
="dialect"
>
net.sf.hibernate.dialect.mysqldialect
property
>
<
property
name
="connection.driver_class"
>
……
property
>
<
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
>
<
property
name
="show_sql"
>
true
property
>
<
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"
?>
<
something-else-entirely
>
<
proxool
>
<
alias
>
pool1
alias
>
<
driver-url
>
…
driver-url
>
<
driver-class
>
…
driver-class
>
<
driver-properties
>
<
property
name
="user"
value
="…"
/>
<
property
name
="password"
value
="…."
/>
driver-properties
>
<
house-keeping-sleep-time
>
90000
house-keeping-sleep-time
>
<
maximum-new-connections
>
20
maximum-new-connections
>
<
prototype-count
>
5
prototype-count
>
<
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
>
<
property
name
="show_sql"
>
true
property
>
<
property
name
="dialect"
>
net.sf.hibernate.dialect.mysqldialect
property
>
<
property
name
="connection.driver_class"
>
……
property
>
<
property
name
="connection.url"
>
……
property
>
<
property
name
="connection.username"
>
…
property
>
<
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
>
<
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
>
<
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
>
<
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
>
<
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
大田斗
阅读(33931)
评论(1)
所属分类:
hibernate
#
re: hibernate.cfg.xml配置
好全啊 .. 棒棒哒 ~ !
新用户注册
只有注册用户后才能发表评论。
网站导航:
相关文章:
2015年11月
日
一
二
三
四
五
六
25
26
27
28
29
30
31
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
1
2
3
4
5
hibernate.cfg.xml配置 -凯发k8网页登录
凯发k8网页登录-凯发天生赢家一触即发官网
凯发k8网页登录首页
发新随笔
发新文章
联系
聚合
管理
随笔: 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)
mule 入门
oksonic(动画教程)
一路由你
小米的blogjava
每日一得
搜索
积分与排名
积分 - 1086906
排名 - 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. 网页不缓存(3480)
2. form嵌套引起的问题 (2740)
3. 解决ie下css背景图片闪烁的bug(2376)
4. spring aop的动态载入原理(2337)
5. 如何制作漂亮的excel表格(1958)
评论排行榜
1. 北京户口--吃官司(5)
2. 开始→运行→输入的命令集锦(3)
3. 让网页上的所有图片动起来(2)
4. dom4j 编码问题彻底解决 (1)
5. 心情不爽(1)
网站地图