0
点赞
收藏
分享

微信扫一扫

spring boot集成mysql多数据源

A邱凌 2022-01-22 阅读 57

依赖包

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.1</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${jdbc-mysql-version}</version>
        <scope>runtime</scope>
    </dependency>

properties文件配置

spring.datasource.primary.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.primary.jdbc-url=jdbc:mysql://127.0.0.1:3316/open_tag?useUnicode=true&characterEncoding=utf8
spring.datasource.primary.username=dev
spring.datasource.primary.password=P0G5h#C!BhNM$Ki1


second 数据源配置
spring.datasource.secondary.jdbc-url=jdbc:mysql://127.0.0.1:3316/open_tag?useUnicode=true&characterEncoding=utf8
spring.datasource.secondary.username=bigdata
spring.datasource.secondary.password=zS^sNH4m%LjWQOMN
spring.datasource.secondary.driverClassName=com.mysql.cj.jdbc.Driver

数据源配置

import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
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 javax.sql.DataSource;


@Configuration
public class DataSourceConfig {
@Bean(name = "PrimaryDataSource")
@Qualifier("PrimaryDataSource")
@Primary
@ConfigurationProperties(prefix="spring.datasource.primary")
public DataSource primaryDataSource() {
    return DataSourceBuilder.create().build();
}

@Bean(name = "SecondaryDataSource")
@Qualifier("SecondaryDataSource")
@ConfigurationProperties(prefix="spring.datasource.secondary")
public DataSource secondaryDataSource() {
    return DataSourceBuilder.create().build();
}





@Bean(name="PrimaryJdbcTemplate")
public JdbcTemplate primaryJdbcTemplate (
        @Qualifier("PrimaryDataSource")  DataSource dataSource ) {

    return new JdbcTemplate(dataSource);
}

@Bean(name="SecondaryJdbcTemplate")
public JdbcTemplate  secondaryJdbcTemplate(
        @Qualifier("SecondaryDataSource") DataSource dataSource) {

    return new JdbcTemplate(dataSource);
}

}

应用层

@Autowired
@Qualifier("PrimaryJdbcTemplate")
JdbcTemplate jdbcTemplate;
举报

相关推荐

0 条评论