MyBatis默认提供了一个数据库连接池PooledDataSource,只需要在配置文件中配置一下就可以 使用了。修改dataSource的type属性就可以了。
<environments default="mysql">
<!-- 配置mysql的环境 -->
<environment id="mysql">
<!--配置事务类型-->
<transactionManager type="JDBC"/>
<!--配置数据源,也称连接池-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
那么如何使用第三方数据库连接池呢?
这里举个例子:使用阿里巴巴的druid数据库连接池。
首先在pom.xml中引入,引入的时候需要注意你的数据库版本和druid版本的对应关系。
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.21</version>
</dependency>
然后新建一个类:
package cn.snowing.utils;
import com.alibaba.druid.pool.DruidDataSource;
import org.apache.ibatis.datasource.pooled.PooledDataSourceFactory;
public class DruidDataSourceFactory extends PooledDataSourceFactory {
public DruidDataSourceFactory(){
this.dataSource = new DruidDataSource();
}
}
最后修改主配置文件中的dataSource的属性type的值为DruidDataSourceFactory的全限定类名。
- 注意:property中的配置要按照druid的配置来,对比上面的配置可以发现其中的name属性的值与mybatis中的是有些不一样的,比如上面的
name="driver"
在这里就不行。这里提供一个官方的链接DruidDataSource配置属性列表
<environments default="mysql">
<!-- 配置mysql的环境 -->
<environment id="mysql">
<!--配置事务类型-->
<transactionManager type="JDBC"/>
<!--配置数据源,也称连接池-->
<dataSource type="cn.snowing.utils.DruidDataSourceFactory">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
然后就可以使用啦。