Spring配置文件中的数据源的几种连接

本文详细介绍了Spring配置文件中三种数据源的连接方式:Spring自带的DriverManagerDataSource、Apache的DBCP插件连接以及C3P0插件连接,并解释了它们各自的配置参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Spring配置文件中数据源的连接大致有三种:
1、Spring自带的连接
2、apache的dbcp插件连接
3、c3p0的插件连接
下面一一的解释其配置文件的参数以及区别:
1、Spring自带的连接DriverManagerDataSource

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

在DriverManagerDataSource源码中,Spring只提供了连接的四个参数:数据库连接方言,连接的数据库地址,用户名,密码。
然而在实际的生产中,我们需要连接的效率和执行效率或者大规模用户访问时的效率要求比较高的时候我们就要使用到数据库连接池,一般使用的都是第三方提供的插件。
在DriverManagerDataSource中,Spring只提供了连接的四个参数:数据库连接方言,连接的数据库地址,用户名,密码。
然而在实际的生产中,我们需要连接的效率和执行效率或者大规模用户访问时的效率要求比较高的时候我们就要使用到数据库连接池,一般使用的都是第三方提供的插件。
2、apache的dbcp插件连接

<bean id="dataSource"
        class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
       <!-- 使用properties来配置 数据库连接池-->
       <!-- 数据库连接方言 -->
        <property name="driverClassName"  value="${jdbc_driverClassName}"></property>
        <property name="url" value="${jdbc_url}"></property>
        <property name="username" value="${jdbc_username}"></property>
        <property name="password" value="${jdbc_password}"></property>
        <!-- 初始化连接大小 -->
        <property name="initialSize" value="10" />
        <!-- 连接池最大使用连接数量 -->
        <property name="maxActive" value="100" />
        <!-- 连接池最小空闲 -->
        <property name="minIdle" value="10" />
        <!-- 超时等待时间以毫秒为单位  -->  
        <property name="maxWait" value="100"/> 
        <!-- 设置在自动回收超时连接的时候打印连接的超时错误  -->  
        <property name="logAbandoned" value="true"/>  
        <!-- 设置自动回收超时连接 -->  
        <property name="removeAbandoned"  value="true"/> 
        <!-- 自动回收超时时间(以秒数为单位) -->  
        <property name="removeAbandonedTimeout" value="10"/>  
    </bean>

在apache的dbcp插件连接BasicDataSource需要我们在maven中配置如下的代码来添加相应的jar包:

<dependency>  
            <groupId>commons-dbcp</groupId>  
            <artifactId>commons-dbcp</artifactId>  
            <version>1.2.2</version>  
        </dependency>  

关于apache的dbcp插件连接中的参数解释:
initialSize 池启动时创建的连接数量
maxActive 同一时间可以从池分配的最多连接数量。设置为0时表示无限制。
maxIdle 池里不会被释放的最多空闲连接数量。设置为0时表示无限制。
maxOpenPreparedStatements 同一时间能够从语句池里分配的已备语句的最大数量。设置为0时表示无限制。
maxWait 在抛出异常之前,池等待连接被回收的最长时间(当没有可用连接时)。设置为-1表示无限等待。
minEvictableIdleTimeMillis 连接保持空闲而不被驱逐的最长时间。
minIdle 在不新建连接的条件下,池中保持空闲的最少连接数。
poolPreparedStatements 是否对已备语句进行池管理(布尔值)。
3、c3p0插件连接

<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" 
   p:driverClass="com.mysql.jdbc.Driver" 
   p:jdbcUrl="jdbc:mysql://localhost:3306/test"
   p:user="root"
   p:password="123456" >       
</bean>

c3p0插件连接时,也需要下载相应的jar包,一般推荐使用c3p0-0.9.1.jar,比较稳定:

<dependency>  
            <groupId>c3p0</groupId>  
            <artifactId>c3p0</artifactId>  
            <version>0.9.1</version>  
        </dependency>

关于相关的参数解释和应用可以查找相关的API说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值