您的位置:首页 > 编程语言 > Java开发

Spring 结合 Hibernate 配置 C3P0

2009-09-15 13:28 519 查看
applicationContext.xml 文件:

<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>

<
beans
xmlns
=
"http://www.springframework.org/schema/beans"

xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"

xmlns:jee
=
"http://www.springframework.org/schema/jee"

xsi:schemaLocation
=
"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd

http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd"
>

<
bean
id
=
"dataSource"

class
=
"com.mchange.v2.c3p0.ComboPooledDataSource"

destroy-method
=
"close"
>

<
property
name
=
"
driverClass

"
>

<
value
>
com.mysql.jdbc.Driver
</
value
>

</
property
>

<
property
name
=
"
jdbcUrl

"
>

<
value
>
jdbc:mysql://192.168.3.110:3306/DBName?useUnicode=true
&
characterEncoding=GBK
</
value
>

</
property
>

<
property
name
=
"
user

"
>

<
value
>
root
</
value
>

</
property
>

<
property
name
=
"password"
>

<
value
>
root
</
value
>

</
property
>

<!--连接池中保留的最小连接数。-->

<
p
r
o
p
e
r
t
y

n
a
m
e

=

"
m
i
n
P
o
o
l
S
i
z
e
"

>

<

v
a
l
u
e

>

5

<
/

v
a
l
u
e

>

<
/

p
r
o
p
e
r
t
y

>

<!--连接池中保留的最大连接数。Default: 15 -->

<
property
name
=
"maxPoolSize"
>

<
value
>
30
</
value
>

</
property
>

<!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->

<
property
name
=
"initialPoolSize"
>

<
value
>
10
</
value
>

</
property
>

<!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->

<
property
name
=
"maxIdleTime"
>

<
value
>
60
</
value
>

</
property
>

<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->

<
property
name
=
"acquireIncrement"
>

<
value
>
5
</
value
>

</
property
>

<!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements

属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。

如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0-->

<
property
name
=
"maxStatements"
>

<
value
>
0
</
value
>

</
property
>

<!--每60秒检查所有连接池中的空闲连接。Default: 0 -->

<
property
name
=
"idleConnectionTestPeriod"
>

<
value
>6

0

</
value
>

</
property
>

<!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->

<
property
name
=
"acquireRetryAttempts"
>

<
value
>
30
</
value
>

</
property
>

<!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效

保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试

获取连接失败后该数据源将申明已断开并永久关闭。Default: false-->

<
property
name
=
"breakAfterAcquireFailure"
>

<
value
>
true
</
value
>

</
property
>

<!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的

时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable

等方法来提升连接测试的性能。Default: false -->

<
property
name
=
"testConnectionOnCheckout"
>

<
value
>
false
</
value
>

</
property
>

</
bean
>

<!-- Hibernate SessionFactory -->

<
bean
id
=
"sessionFactory"

class
=
"org.springframework.orm.hibernate3.LocalSessionFactoryBean"
>

<
property
name
=
"dataSource"
>

<
ref
local
=
"dataSource"
/>

</
property
>

<
property
name
=
"mappingResources"
>

<
list
>

<
value
>
com/xh/hibernate/vo/User.hbm.xml
</
value
>

</
list
>

</
property
>

<
property
name
=
"hibernateProperties"
>

<
props
>

<
prop
key
=
"hibernate.dialect"
>
org.hibernate.dialect.MySQLDialect
</
prop
>

<
prop
key
=
"hibernate.show_sql"
>
true
</
prop
>

<
prop
key
=
"hibernate.generate_statistics"
>
true
</
prop
>

<
prop
key
=
"hibernate.connection.release_mode"
>
auto
</
prop
>

<
prop
key
=
"hibernate.autoReconnect"
>
true
</
prop
>

</
props
>

</
property
>

</
bean
>

</
beans
>

本文出自 “霜之哀伤
” 博客,请务必保留此出处/article/4376344.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: