IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> springboot+Druid+MybatisPlus整合多数据源(MySQL+postgresql) -> 正文阅读

[大数据]springboot+Druid+MybatisPlus整合多数据源(MySQL+postgresql)

整合多数据源(MySQL+postgresql)

在工作中,可能会有些项目会需要两个数据库,一部分操作是对于A数据库,一部分操作对于B数据库,于是在网上寻找方法,最后使用了这个mybatis-plus实现了动态数据源。

1、搭建项目环境

搭建一个springboot+mybatis-plus 的项目,然后引入mybatis-plus多数据源配置的依赖

<!-- mybatis plus多数据源 -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
    <version>3.5.0</version>
</dependency>

2、修改配置文件

这里是配置了两个不同数据类型的数据库,使用了Druid连接池。 端口和用户名密码需要换成自己的

没有使用Druid连接池的把Druid配置删掉就好了,第三步也可以跳过

spring:
    datasource:
        dynamic:
            primary: master # 配置默认数据库
            datasource:
                master: # 数据源1配置
                    url: jdbc:postgresql://localhost:5432/postgres?currentSchema=zhly
                    username: postgres
                    password: ******
                    driver-class-name: org.postgresql.Driver
                slave: # 数据源2配置
                    url: jdbc:mysql://localhost:3306/zhly?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8
                    username: root
                    password: ******
                    driver-class-name: com.mysql.cj.jdbc.Driver
            durid:
                initial-size: 5
                max-active: 20
                min-idle: 10
                max-wait: 60000
                # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
                timeBetweenEvictionRunsMillis: 60000
                # 配置一个连接在池中最小生存的时间,单位是毫秒
                minEvictableIdleTimeMillis: 300000
                # 配置一个连接在池中最大生存的时间,单位是毫秒
                maxEvictableIdleTimeMillis: 900000
                # 配置检测连接是否有效
                validationQuery: SELECT 1
                testWhileIdle: true
                testOnBorrow: false
                testOnReturn: false
                webStatFilter:
                    enabled: true
                statViewServlet:
                    enabled: true
                    # 设置白名单,不填则允许所有访问
                    allow:
                    url-pattern: /druid/*
                    # 控制台管理用户名和密码
                    login-username: admin
                    login-password: ******
                filter:
                    stat:
                        enabled: true
                        # 慢SQL记录
                        log-slow-sql: true
                        slow-sql-millis: 1000
                        merge-sql: true
                    wall:
                        config:
                            multi-statement-allow: true
    autoconfigure:
        # 去除druid配置。是否需要,根据druid连接池的类型。如果druid连接池为starter类型,则需要排除。否则,不需要。
        exclude:  com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure

3、修改启动类

启动类上加上 exclude = {DruidDataSourceAutoConfigure.class

@SpringBootApplication(exclude = {DruidDataSourceAutoConfigure.class})

4、使用 @DS 注解切换数据源

如果不使用@DS注解切换数据源,默认使用的就是master 数据源

注意:@DS 可以注解在方法上或类上,同时存在就近原则 方法上注解 优先于 类上注解

@Service
@DS("salve")
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService {

}

注意:加在类上表示该类中的所有的方法都使用该数据源,也可以加在方法上,方法上注解 优先于 类上注解,括号中的名称是数据源名称,本案例的数据库名称分别为yml文件里面配置的 masterslave

5、最后

具体的演示就不展示出来了,需要的同学可以自行跟着博客去配置,希望能够帮到大家!

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:22:23  更:2022-10-22 21:24:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年6日历 -2025/6/4 12:37:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码