MyBatis虽自带连接池POOLED,但是我们不推荐使用,推荐使用诸如C3P0之类的市面上的主流连接池
一,使用C3P0连接池
- 导入依赖
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.4</version>
</dependency>
- 创建C3P0与MyBatis兼容的数据源工厂类(其它连接池同理)
/**
* C3P0与mybatis兼容使用的数据源工厂类
*/
public class C3P0DataSourceFactory extends UnpooledDataSourceFactory {
public C3P0DataSourceFactory() {
this.dataSource = new ComboPooledDataSource();
}
}
- 修改mybatis-config.xml文件
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--设置成支持驼峰命名-->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!--指定对应的数据库,这个可以不写,插件会自动识别,但是严谨角度建议还是写一下-->
<property name="helperDialect" value="mysql"/>
<!--开启分页合理化(如输入第0页时,展示第一页数据,输入超过最大页数的数据时候,展示最大页数的数据)-->
<property name="reasonable" value="true"/>
</plugin>
</plugins>
<!--采用C3PO进行连接-->
<dataSource type="com.imooc.mybatis.datasource.C3P0DataSourceFactory">
<property name="driverClass" value="com.mysql.cj.jdbc.Driver"/>
<property name="jdbcUrl"
value="jdbc:mysql://localhost:3306/babytun?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT"/>
<property name="user" value="root"/>
<property name="password" value="123456"/>
<property name="initialPoolSize" value="5"/>
<property name="maxPoolSize" value="20"/>
<property name="minPoolSize" value="5"/>
</dataSource>
</environment>
<!--声明goods.xml类,让mybatis认识这个文件-->
<mappers>
<mapper resource="mappers/goods.xml"/>
</mappers>
</configuration>
网友评论