0
点赞
收藏
分享

微信扫一扫

spring boot集成mysql多数据源

A邱凌 2022-01-22 阅读 54

依赖包

<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 条评论