Skip to content

Datasource

springside edited this page Sep 14, 2012 · 16 revisions

##Apache Commons DBCP 老牌DataSource用惯了。 一般配置如下,高级配置看DBCP自带文档

	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
			<!-- Connection Info -->
			<property name="driverClassName" value="${jdbc.driver}" />
			<property name="url" value="${jdbc.url}" />
			<property name="username" value="${jdbc.username}" />
			<property name="password" value="${jdbc.password}" />
		
			<!-- Connection Pooling Info -->
			<property name="maxActive" value="${dbcp.maxActive}" />
			<property name="maxIdle" value="${dbcp.maxIdle}" />
			<property name="defaultAutoCommit" value="false" />
			<!-- 连接Idle一个小时后超时 -->
			<property name="timeBetweenEvictionRunsMillis" value="3600000" />
			<property name="minEvictableIdleTimeMillis" value="3600000" />
		</bean>

defaultAutoCommit=false是必须设置的,maxActive和maxIdle如果不想依赖默认值还是自己设置一下好。最后是Idle长时间后要主动断掉连接,否则MySQL下会出问题。

bean定义里的destroy-method="close"也很重要。

Spring DataSource

在某些场合,简简单单不想使用连接池也不想引入依赖包,可以直接使用Spring自带的DataSource

	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="${jdbc.driver}" />
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />
	</bean>

返回参考手册