使用配置文件指定的数据库连接池
连接池现在有dbcp、c3p0、proxoop,
其中dbcp、c3p0的配置只需要在 上面 的配置上加入些配置就行,hibernate会自动识别数据库连接池
目前还没有用到proxoop,所以不列了。
<!--
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="defaultAutoCommit" value="false"></property>
<property name="maxActive" value="50"></property>
<property name="url" value="jdbc:mysql://localhost:3306/exam"></property>
<property name="username" value="root"></property>
<property name="password" value=""></property>
<property name="password" value="true"></property>
<property name="password" value="true"></property>
<property name="password" value="180"></property>
</bean>
-->
如果要读取文件中的值,在applicationContext.xml中可以这样写:
<context:property-placeholder location="classpath:config/dbcp.properties"/>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
那么下次改动连接,只需要修改dbcp.properties里面的内容就行。
<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="autoCommitOnClose" value="false"></property>
<property name="maxIdleTime" value="1800"></property> <!-- 最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃 -->
<property name="maxPoolSize" value="50"></property>
<property name="initialPoolSize" value="5"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/exam"></property>
<property name="user" value="root"></property>
<property name="password" value=""></property>
参考:http://lihengwei453848.blog.163.com/blog/static/36866173200922262811669/