zoukankan      html  css  js  c++  java
  • 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 {
    }
  • 相关阅读:
    微信Jssdk 认证签名
    枚举的变换
    mysql 事务
    Java中的堆和栈
    mysql-索引
    mysql-事务隔离 为什么你改了我还看不见
    mysql 一次更新语句是如何执行的
    mysql-一条sql的执行过程
    随笔
    设计模式之装饰者
  • 原文地址:https://www.cnblogs.com/raorao1994/p/14491439.html
Copyright © 2011-2022 走看看