MyBatis 如何整合 Druid 连接池?

Mybatis 如何整合 Druid 数据连接池呢?首先打开创建的 Maven 工程,找到 pom.xml 文件,添加 Druid 依赖。

xml 复制代码
<!--druid连接池-->
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid</artifactId>
	<version>1.1.14</version>
</dependency>

由于 Mybatis 默认情况下是不支持 Druid 的,需要对 Mybatis 进行如下扩展:

  • 在工程目录下,创建一个名为 datasource 的子包,然后再在这个数据源包下创建一个名为 DruidDataSourceFactory 的类,这是我们自定义的 Druid 连接池工厂,用于构建 Druid 数据连接池,但注意必须继承 自 UnpooledDataSourceFactory(由Mybatis 提供的用于自定义数据工厂的扩展),工程目录结构如下:

    代码如下:

    java 复制代码
    public class DruidDataSourceFactory extends UnpooledDataSourceFactory {//mybatis提供用于提供自定义数据工厂的扩展
        @Override
        public DataSource getDataSource() {
            try {
               ((DruidDataSource)this.dataSource).init();//获取数据源的时候需要额外进行一次数据初始化
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
            return this.dataSource;
        }
        //实例化
        public DruidDataSourceFactory() {
            this.dataSource = new DruidDataSource();
        }
    }
  • 作为这个工厂类,如何让 Mybatis 知晓呢?下面要回到 mybatis-config.xml 这个配置文件中对 datasource标签里的内容进行改造(对数据源进行设置),设置结果如下:

    注意 :Mybatis 使用自带数据连接池时,数据库JDBC驱动的属性名为driver ,但是要在 Druid 里面需要改成 driverClassName

经过上面的操作,Mybatis 整合Druid 连接池的操作就完成了,后面对数据库的一系列处理都是基于这个连接池来进行的。

相关推荐
啾啾Fun23 分钟前
Java反射操作百倍性能优化
java·性能优化·反射·缓存思想
20岁30年经验的码农30 分钟前
若依微服务Openfeign接口调用超时问题
java·微服务·架构
曲莫终39 分钟前
SpEl表达式之强大的集合选择(Collection Selection)和集合投影(Collection Projection)
java·spring boot·spring
ajassi20001 小时前
开源 java android app 开发(十二)封库.aar
android·java·linux·开源
q567315231 小时前
Java使用Selenium反爬虫优化方案
java·开发语言·分布式·爬虫·selenium
kaikaile19951 小时前
解密Spring Boot:深入理解条件装配与条件注解
java·spring boot·spring
守护者1701 小时前
JAVA学习-练习试用Java实现“一个词频统计工具 :读取文本文件,统计并输出每个单词的频率”
java·学习
bing_1582 小时前
Spring Boot 中ConditionalOnClass、ConditionalOnMissingBean 注解详解
java·spring boot·后端
ergdfhgerty2 小时前
斐讯N1部署Armbian与CasaOS实现远程存储管理
java·docker
勤奋的知更鸟2 小时前
Java性能测试工具列举
java·开发语言·测试工具