• mybatis plus + druid多数据源(使用dynamic实现)


    本文章向大家介绍mybatis plus + druid多数据源(使用dynamic实现),主要包括mybatis plus + druid多数据源(使用dynamic实现)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

    参考开源项目dynamic: https://github.com/baomidou/dynamic-datasource-spring-boot-starter

    引入pom:

    <!-- 动态数据源 -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
                <version>2.5.4</version>
            </dependency>

    配置文件yml中:

    spring:
      autoconfigure:
        #自动化配置 例外处理
        exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
      datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        #多数据源配置
        dynamic:
          primary: db1
          datasource:
            # 数据库1
            db1:
              driver-class-name: com.mysql.cj.jdbc.Driver
              url: jdbc:mysql://xxxx:3306/xxx?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&serverTimezone=Asia/Shanghai
              username: xxx
              password: xxxx
            # 数据库2
            db2:
              driver-class-name: com.mysql.cj.jdbc.Driver
              url: jdbc:mysql://xxxx:3306/xxx?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&serverTimezone=Asia/Shanghai
              username: xxx
              password: xxxx
          #dynamic - 公共配置
          druid:
            initialSize: 5
            minIdle: 5
            maxActive: 30
            maxWait: 60000
            timeBetweenEvictionRunsMillis: 60000
            minEvictableIdleTimeMillis: 300000
            validationQuery: SELECT 'x'
            testWhileIdle: true
            testOnBorrow: false
            testOnReturn: false
            poolPreparedStatements: true
            maxPoolPreparedStatementPerConnectionSize: 20
            filters: stat,wall,slf4j,config
            useGlobalDataSourceStat: true
            stat:
              log-slow-sql: true
              merge-sql: true
              slow-sql-millis: 10000

    用法:在相应service类或方法上添加DS注解,如:

    package com.tuijie.loanapi.service.impl;
    
    import com.baomidou.dynamic.datasource.annotation.DS;
    import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
    import com.tuijie.loanapi.mapper.TestUserMapper;
    import com.tuijie.loanapi.model.mysql.TestUser;
    import com.tuijie.loanapi.service.TestUserService;
    import org.springframework.stereotype.Service;
    
    /**
     * TestUserServiceImpl
     * 测试ServiceImpl
     * @version :
     */
    @Service
    @DS("db2")
    public class TestUserServiceImpl extends ServiceImpl<TestUserMapper, TestUser> implements TestUserService {
    }
  • 相关阅读:
    Git 常用命令集合
    PHP CURL
    Helm安装Dashboard
    使用helm 部署Nginx
    Helm v3部署和使用
    K8s
    Linux
    CentOS下 Docker、Docker Compose 的安装教程(附详细步骤)
    Passwordless SSH Login
    秒杀业务的设计
  • 原文地址:https://www.cnblogs.com/raorao1994/p/14491439.html
Copyright © 2020-2023  润新知