背景:连接池负责分配、管理和释放数据库连接,能明显提高对数据库操作的性能。
主体:这里主要说明3种常用的数据库连接池(c3p0,dbcp,BoneCP)的xml配置方式
配置环境: Maven+SSM
1.1 连接池一:c3p0
1.2 导包,pom.xml导包
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
1.3 配置spring-mybatis.xml中dataSource的连接池<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://106.15.200.190:3306/test?useUnicode=true&characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
2.1 连接池二:dbcp
2.2 导包
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.2.2</version>
</dependency>
2.3 配置spring-mybatis.xml中dataSource的连接池
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://106.15.200.190:3306/test?useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root" />
<property name="password" value="root"/>
</bean>
3.1 连接池二:BoneCP
<dependency>
<groupId>com.jolbox</groupId>
<artifactId>bonecp</artifactId>
<version>0.8.0.RELEASE</version>
</dependency>
3.2 配置spring-mybatis.xml中dataSource的连接池
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://106.15.200.190:3306/test?useUnicode=true&characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
c3p0和dbcp效率方面相差不大,BoneCP效率较前两个效率会快上许多,这个持保留意见,因为我使用BoneCP做一个简单的登录,项目发布第一次点击登录返回的json数据很明显比前两个要慢,第二次点击的话个人感觉速度相差不大。以上配置都没有对连接池进行一些详细的配置,如最大连接数,最小连接数等等,项目需要的话可以进一步配置,不配置采用的是默认配置。另外注意这三种数据库连接四大件的别名问题。
本文介绍了c3p0、dbcp和BoneCP三种常用数据库连接池的Maven配置及Spring整合方式,并对比了它们的基本性能。

2575

被折叠的 条评论
为什么被折叠?



