0
点赞
收藏
分享

微信扫一扫

Java基础之《JdbcTemplate多数据源》

沪钢木子 2022-03-10 阅读 54
java

1、DataSourceConfig.java

package cn.xxx.coupon.pay.config;

import javax.sql.DataSource;

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 com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;


@Configuration
public class DataSourceConfig {

	@Primary
	@ConfigurationProperties(prefix = "spring.datasource.druid.one")
	@Bean(name = "dsOne")
	public DataSource dsOne() {
		return DruidDataSourceBuilder.create().build();
	}

	@ConfigurationProperties(prefix = "spring.datasource.druid.two")
	@Bean(name = "dsTwo")
	public DataSource dsTwo() {
		return DruidDataSourceBuilder.create().build();
	}
}

2、JdbcTemplateConfig.java

package cn.okcard.coupon.pay.config;

import javax.sql.DataSource;

import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.core.JdbcTemplate;

@Configuration
public class JdbcTemplateConfig {

	@Bean
	public JdbcTemplate jdbcTemplateOne(@Qualifier("dsOne") DataSource dataSource) {
		return new JdbcTemplate(dataSource);
	}

	@Bean
	public JdbcTemplate jdbcTemplateTwo(@Qualifier("dsTwo") DataSource dataSource) {
		return new JdbcTemplate(dataSource);
	}
}

3、yml文件配置

#定义两个数据源
spring:
  datasource:
    druid:
      one:
        driverClassName: com.mysql.cj.jdbc.Driver
        type: com.alibaba.druid.pool.DruidDataSource
        url: jdbc:mysql://localhost:3306/db1?serverTimezone=UTC
        username: db1
        password: db1
      two:
        driverClassName: com.mysql.cj.jdbc.Driver
        type: com.alibaba.druid.pool.DruidDataSource
        url: jdbc:mysql://localhost:3306/db2?serverTimezone=UTC
        username: db2
        password: db2
举报

相关推荐

0 条评论