SpringBoot使用多数据源的jdbctemplate(mysql数据库)

示例:

pom文件

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

application.properties

#测试地址
spring.datasource.ad.url=jdbc:mysql://127.0.0.1:3316/test1?useUnicode=true&characterEncoding=utf8&autoReconnect=true
spring.datasource.ad.username=root
spring.datasource.ad.password=132456

spring.datasource.maopao.url=jdbc:mysql://127.0.0.1:3316/test2?useUnicode=true&characterEncoding=utf8&autoReconnect=true
spring.datasource.maopao.username=root
spring.datasource.maopao.password=132456

配置类

@Primary代表默认的数据源

package com.bootdo.config;

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

/**
 * @program: itv-ad-app
 * @description:不同数据库数据源配置类
 * @author: hw
 * @create: 2019-04-23 17:39
 **/
@Configuration
public class DataSourceConfig {


    @Bean(name = "AdDataSource")
    @Qualifier("AdDataSource")
    @Primary
    @ConfigurationProperties(prefix="spring.datasource.ad")
    public DataSource primaryDataSource() {
        return DataSourceBuilder.create().build();
    }

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





    @Bean(name="AdJdbcTemplate")
    public JdbcTemplate primaryJdbcTemplate (
            @Qualifier("AdDataSource")  DataSource dataSource ) {

        return new JdbcTemplate(dataSource);
    }

    @Bean(name="MaopaoJdbcTemplate")
    public JdbcTemplate  secondaryJdbcTemplate(
            @Qualifier("MaopaoDataSource") DataSource dataSource) {

        return new JdbcTemplate(dataSource);
    }


}

使用示例:

想使用哪个数据库 就在@Qualifier 里面更换不同的bean名称即可

 @Autowired
 @Qualifier("AdJdbcTemplate")
 JdbcTemplate jdbcTemplate;

点赞或者评论是我最大的动力,有问题欢迎留言或者联系q:1559810637  

猜你喜欢

转载自blog.csdn.net/qq_41594146/article/details/89669544