原创

Spring连接池(一、xml的配置)

首先

jdbc.properties,用于保存连接数据库的信息,利于我们在配置文件中的使用

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost/test
uname=root
password=root

需要在applicationContext.xml(Spring的配置文件)中配置

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="classpath:jdbc.properties"></property>
    </bean>

<context:property-placeholder location="classpath:jdbc.properties"/>

 

spring框架内置的连接池(需要有spring的jar包)

在applicationContext.xml(Spring的配置文件)的配置:

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

jdbc连接池配置

<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver">
    </property>
    <property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=UTF8" />
    <property name="username" value="root"></property>
    <property name="password" value="root"></property>
</bean>​​​​​​

DriverManagerDataSource没有实现连接池化连接的机制,每次调用getConnection()获取新连接时,只是简单地创建一个新的连接。所以,一般这种方式常用于开发时测试,不用于生产。

c3p0连接池配置(需要引入对应的jar包,这里我使用的是c3p0-0.9.1.2.jar)

在applicationContext.xml(Spring的配置文件)的配置:

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClassName" value="${driverClassName}"></property>
		<property name="url" value="${url}"></property>
		<property name="username" value="${uname}"></property>
		<property name="password" value="${password}"></property>
</bean>

Apache的dbcp连接池配置(需要引入jar包)

commons-collections-3.1.jar

commons-dbcp-1.4.jar

commons-pool.jar

在applicationContext.xml(Spring的配置文件)的配置:

<!-- 第一步 读取配置文件 -->
	<bean
		class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
		<property name="locations">
			<value>classpath:jdbc.properties</value>
		</property>
	</bean>
	<!-- 第二步 通过表达式将配置文件引入 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="${driverClassName}"></property>
		<property name="url" value="${url}"></property>
		<property name="username" value="${uname}"></property>
		<property name="password" value="${password}"></property>
	</bean>

	<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
		<property name="dataSource" ref="dataSource"></property>
	</bean>

	<bean id="baseDao" class="com.dao.BaseDao">
		<property name="jdbcTemplate" ref="jdbcTemplate"></property>
	</bean>

    <!-- 给service添加注解 -->
	<context:component-scan base-package="com.service"></context:component-scan>
	<aop:config proxy-target-class="true"></aop:config>

</beans>

阿里巴巴框架 的druid连接池

这个也需要引入jar包!!!

这里我使用的是:

druid-0.1.18.jar

在applicationContext.xml(Spring的配置文件)的配置:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
       <property name="driverClassName" value="${driverClassName}"></property>
        <property name="url" value="${url}"></property>
        <property name="username" value="${uname}"></property>
        <property name="password" value="${password}"></property>
   </bean>

 

正文到此结束
本文目录