SpringBoot2.1.9 多数据源Mybatis—JDBC配置

一、配置文件
pom.xm

 <dependency>
   <groupId>org.mybatis.spring.boot</groupId>
   <artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>5.1.48</version>
   <scope>runtime</scope>
</dependency>

application.yml

spring:
  application:
    name: double-datasource-mybatis-jdbc
  profiles:
    active: dev
 
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
 
  server:
    port: 8008

mybatis:
  #mapper-locations: classpath*:mapper/*.xml
  type-aliases-package: com.mk.entity.*  # 注意:对应实体类的路径
  configuration:
      map-underscore-to-camel-case: true

sys:
  jdbc:
    one:
      type: com.alibaba.druid.pool.DruidDataSource
      driver-class-name: com.mysql.jdbc.Driver
      url: jdbc:mysql://192.168.1.2:3307/testdb01?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
      username: root
      password: admin123
      druid:
        initial-size: 10
        max-active: 100
        min-idle: 10
        max-wait: 60000
        pool-prepared-statements: true
        max-pool-prepared-statement-per-connection-size: 20
        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
        filter:
          stat:
            log-slow-sql: true
            slow-sql-millis: 1000
            merge-sql: true
            enabled: true
          wall:
            config:
              multi-statement-allow: true
        stat-view-servlet:
          enabled: false
    two:
      type: com.alibaba.druid.pool.DruidDataSource
      driver-class-name: com.mysql.jdbc.Driver
      url: jdbc:mysql://192.168.1.2:3307/testdb02?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
      username: root
      password: admin123
      druid:
        initial-size: 10
        max-active: 100
        min-idle: 10
        max-wait: 60000
        pool-prepared-statements: true
        max-pool-prepared-statement-per-connection-size: 20
        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
        filter:
          stat:
            log-slow-sql: true
            slow-sql-millis: 1000
            merge-sql: true
            enabled: true
          wall:
            config:
              multi-statement-allow: true
        stat-view-servlet:
          enabled: false

二、配置Configuration Bean

(1)第一个Mybatis数据源配置(主)

public class MybatisDataSourceConfig {

    @Primary
    @Bean
    @ConfigurationProperties(prefix = "sys.datasource.mybatis")
    public DataSourceProperties oneDataSourceProperties(){
        return new DataSourceProperties();
    }

 
}

(2)第二个jdbc配置

public class JdbcDataSourceConfig {

    @Bean
    @ConfigurationProperties(prefix = "sys.datasource.jdbc")
    public DataSourceProperties jdbcDataSourceProperties(){
        return new DataSourceProperties();
    }

    @Bean
    public JdbcTemplate jdbcTemplate(@Autowired @Qualifier("jdbcDataSourceProperties") DataSourceProperties dataSourceProperties){
        DataSource dataSource = dataSourceProperties.initializeDataSourceBuilder().build();
        return new JdbcTemplate(dataSource);
    }
}

(3)导入配置

@Configuration
@Import({MybatisDataSourceConfig.class, JdbcDataSourceConfig.class})
public class DataSourceConfig {
 
}
发布了354 篇原创文章 · 获赞 522 · 访问量 127万+

猜你喜欢

转载自blog.csdn.net/moakun/article/details/104070522
今日推荐