美文网首页
JdbcTemplate multiDataSource

JdbcTemplate multiDataSource

作者: hehehehe | 来源:发表于2020-07-28 17:57 被阅读0次
    package com.springboot.datasource;
    
    import javax.sql.DataSource;
    
    import org.springframework.beans.factory.annotation.Qualifier;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.Primary;
    import org.springframework.jdbc.core.JdbcTemplate;
    
    import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
    
    @Configuration
    public class DataSourceConfig {
        @Primary
        @Bean(name = "mysqldatasource")
        @ConfigurationProperties("spring.datasource.druid.mysql")
        public DataSource dataSourceOne(){
            return DruidDataSourceBuilder.create().build();
        }
        
        @Bean(name = "oracledatasource")
        @ConfigurationProperties("spring.datasource.druid.oracle")
        public DataSource dataSourceTwo(){
            return DruidDataSourceBuilder.create().build();
        }
    
        @Bean(name = "mysqlJdbcTemplate")
        public JdbcTemplate primaryJdbcTemplate(
                @Qualifier("mysqldatasource") DataSource dataSource) {
            return new JdbcTemplate(dataSource);
        }
        
        @Bean(name = "oracleJdbcTemplate")
        public JdbcTemplate secondaryJdbcTemplate(
                @Qualifier("oracledatasource") DataSource dataSource) {
            return new JdbcTemplate(dataSource);
        }
    }
    
    
    server:
      context-path: /web
    
    spring:
      datasource:
        druid:
          # 数据库访问配置, 使用druid数据源
          # 数据源1 mysql
          mysql:
            type: com.alibaba.druid.pool.DruidDataSource
            driver-class-name: com.mysql.jdbc.Driver
            url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&rewriteBatchedStatements=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
            username: root
            password: 123456
          # 数据源2 oracle
          oracle: 
            type: com.alibaba.druid.pool.DruidDataSource
            driver-class-name: oracle.jdbc.driver.OracleDriver
            url: jdbc:oracle:thin:@localhost:1521:ORCL
            username: test
            password: 123456
            
          # 连接池配置
          initial-size: 5
          min-idle: 5
          max-active: 20
          # 连接等待超时时间
          max-wait: 30000
          # 配置检测可以关闭的空闲连接间隔时间
          time-between-eviction-runs-millis: 60000
          # 配置连接在池中的最小生存时间
          min-evictable-idle-time-millis: 300000
          validation-query: select '1' from dual
          test-while-idle: true
          test-on-borrow: false
          test-on-return: false
          # 打开PSCache,并且指定每个连接上PSCache的大小
          pool-prepared-statements: true
          max-open-prepared-statements: 20
          max-pool-prepared-statement-per-connection-size: 20
          # 配置监控统计拦截的filters, 去掉后监控界面sql无法统计, 'wall'用于防火墙
          filters: stat,wall
          # Spring监控AOP切入点,如x.y.z.service.*,配置多个英文逗号分隔
          aop-patterns: com.springboot.servie.*
          
        
          # WebStatFilter配置
          web-stat-filter:
            enabled: true
            # 添加过滤规则
            url-pattern: /*
            # 忽略过滤的格式
            exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'
          
          # StatViewServlet配置 
          stat-view-servlet:
            enabled: true
            # 访问路径为/druid时,跳转到StatViewServlet
            url-pattern: /druid/*
            # 是否能够重置数据
            reset-enable: false
            # 需要账号密码才能访问控制台
            login-username: druid
            login-password: druid123
            # IP白名单
            # allow: 127.0.0.1
            # IP黑名单(共同存在时,deny优先于allow)
            # deny: 192.168.1.218
          
          # 配置StatFilter
          filter: 
            stat: 
              log-slow-sql: true 
    
         
    

    相关文章

      网友评论

          本文标题:JdbcTemplate multiDataSource

          本文链接:https://www.haomeiwen.com/subject/tvhqrktx.html