MyBatis 如何整合 Druid 连接池?

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

<!--druid连接池-->
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid</artifactId>
	<version>1.1.14</version>
</dependency>

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

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

    image-20240123110618766

    代码如下:

    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标签里的内容进行改造(对数据源进行设置),设置结果如下:

    image-20240123115247631

    image-20240123113135141

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

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

相关推荐

  1. SpringBoot整合Druid数据库连接

    2024-01-29 07:50:02       50 阅读
  2. Druid数据库连接配置

    2024-01-29 07:50:02       47 阅读
  3. 连接 Druid (三) - 获取连接 getConnection

    2024-01-29 07:50:02       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-29 07:50:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-29 07:50:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-29 07:50:02       82 阅读
  4. Python语言-面向对象

    2024-01-29 07:50:02       91 阅读

热门阅读

  1. MyBatis-plus

    2024-01-29 07:50:02       58 阅读
  2. Redis的RDB和AOF详解

    2024-01-29 07:50:02       47 阅读
  3. HarmonyOS鸿蒙 虚拟像素

    2024-01-29 07:50:02       55 阅读
  4. c++多态

    c++多态

    2024-01-29 07:50:02      39 阅读
  5. Elasticsearch中的分词器的基本介绍以及使用

    2024-01-29 07:50:02       58 阅读
  6. PiflowX组件-FileWrite

    2024-01-29 07:50:02       60 阅读