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 连接池的操作就完成了,后面对数据库的一系列处理都是基于这个连接池来进行的。

相关推荐
摇滚侠24 分钟前
《Docker技术入门与实战 第4版》阅读笔记 6 使用 Dockerfile 创建镜像 2
java·笔记·docker
余额瞒着我当琳42 分钟前
C++--vector第二讲:手写 C++ STL:vector 源码剖析与迭代器失效分析
android·java·c++
资源大佬星 课it1 小时前
黑马 Java+AI新版V16零基础就业班视频课程百度网盘下载
java·开发语言·人工智能
二十雨辰1 小时前
[Java]-微服务面试题
java·开发语言·微服务
我命由我123451 小时前
Compose Codelab 学习 - Compose 中的基本布局
android·java·java-ee·kotlin·android studio·android-studio·android runtime
莫得感情 o1 小时前
并发 11 · 同步工具类
java·并发
chuan.bai7 小时前
Java RAG 实战(第 11 篇):RAG 知识工作台网页
java·开发语言·人工智能
0x5310 小时前
网站通信(一)
java
Terra.K10 小时前
Java异常学习[特殊字符]
java·开发语言·学习
葡萄城技术团队11 小时前
InfluxDB 2\.x 深度解析:核心架构、Flux 函数与制造业落地指南(三)
java·开发语言·架构