Springboot druid dynamic-datasource 配置

1、引入依赖

  <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>2.5.4</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.21</version>
        </dependency>

2、application.yml 配置

#Spring配置
spring:
  application:
    name: ifina
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
  servlet:
    multipart:
      maxFileSize: 5MB  #单位必须大写MB或不写(即为B)
      maxRequestSize: 10MB
  datasource:
    # 可以先在这里配置好通用的配置,比如
      druid:
        filters: stat,wall
        maxActive: 20
        initialSize: 1
        maxWait: 60000
        minIdle: 10
        #maxIdle:15
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: SELECT 'x'
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        #poolPreparedStatements:true
        maxOpenPreparedStatements: 20
        web-stat-filter:
          enabled: true
          url-pattern: /*
          exclusions: /druid/*,*js,*gif,*jpg,*bmp,*png,*css,*ico
          session-stat-enable: true
          session-stat-max-count: 10
          principal-session-name: session_name
          principal-cookie-name: cookie_name
          profile-enable: true
        stat-view-servlet:
          enabled: true
          url-pattern: /druid/*
          reset-enable: false
          login-username: admin
          login-password: 123456
          allow: 127.0.0.1,192.168.179.116
          aop-patterns: com.hieasy.ifina.service.*
      dynamic:
        primary: threetp #设置默认的数据源或者数据源组,默认值即为master
        strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候会抛出异常,不启动则使用默认数据源.
        p6spy: false
        datasource:
            threetp:
              url: jdbc:sqlserver://192.168.179.214:8899;SelectMethod=cursor;DatabaseName=CWINF_3Q
              username: ENC(H1yLPJFx92iVQyOS+Et1pw==)
              password: ENC(KGsBr0kVGYvW6AWtUXqZXCsnTNcWgpJO)
              driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
            kingdee:
              url: jdbc:sqlserver://192.168.179.214:8899;SelectMethod=cursor;DatabaseName=CWINF_JD
              username: ENC(H1yLPJFx92iVQyOS+Et1pw==)
              password: ENC(KGsBr0kVGYvW6AWtUXqZXCsnTNcWgpJO)
              driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver

3、启动类排除DRUID默认配置

import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;

@EnableCaching
//去掉Druid 默认的数据源配置,动态加载数据源
@SpringBootApplication(exclude= {DruidDataSourceAutoConfigure.class})
public class IfinaApplication {

    public static void main(String[] args) {

        SpringApplication.run(IfinaApplication.class, args);
        System.out.println("(♥◠‿◠)ノ゙  数据服务启动成功   ლ(´ڡ`ლ)゙  \n"  );
    }

}

启动如下图:

访问druid监控  http://localhost:11020/druid,输入配置的用户名密码

切换数据源,主数据源不需要注解,再从数据源那里加上@DS注解

@DS("kingdee")
@Service
@Transactional
public class DSDemoServiceImpl implements IDSDemoService {





}

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值