Mybatis支持第三方连接池
在Mybatis官方有提到第三方连接池的实现:
你可以通过实现接口 org.apache.ibatis.datasource.DataSourceFactory 来使用第三方数据源实现:
public interface DataSourceFactory { void setProperties(Properties
props); DataSource getDataSource(); }
org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory
可被用作父类来构建新的数据源适配器,比如下面这段插入 C3P0 数据源所必需的代码:import
org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory;
import com.mchange.v2.c3p0.ComboPooledDataSource;public class C3P0DataSourceFactory extends UnpooledDataSourceFactory {
public C3P0DataSourceFactory() {
this.dataSource = new ComboPooledDataSource(); } }
也可以查看官网: Mybatis官网
可以看输出需要实现
org.apache.ibatis.datasource.DataSourceFactory
这个接口 或者继承 这个类
org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory
查看源码可以看出UnpooledDataSourceFactory已经实现了DataSourceFactory接口,我们只需要继承UnpooledDataSourceFactory并在构造器中添加c3p0的连接对象即可
- 1 使用maven导包
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<!-- Mybaatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
- 2 写入Mybatis-config.xml配置信息
这里注意c3p0和mybatis使用的数据源名称不一致 Mybatis配置信息时需要使用c3p0的数据源名称
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>