首先是properties配置
当然mysql 和 sqlserver的jar包要加上。
#mysql
spring.datasource.primary.url=jdbc:mysql://localhost:3306/db_company?useUnicode=true&characterEncoding=utf-8
spring.datasource.primary.username = root
spring.datasource.primary.password = 123456
spring.datasource.primary.driverClassName = com.mysql.jdbc.Driver
spring.datasource.primary.max-active=20
spring.datasource.primary.max-idle=8
spring.datasource.primary.max-maxWait=100
spring.datasource.primary.min-idle=8
spring.datasource.primary.initial-size=10
#sqlserver
spring.datasource.second.url=jdbc:sqlserver://192.168.x.xxx:1433;database=QSTMGood
spring.datasource.second.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.second.username=sa
spring.datasource.second.password=baitu123
spring.datasource.second.initialSize=1
spring.datasource.second.minIdle=1
spring.datasource.second.maxActive=20
spring.datasource.second.maxWait=30000
spring.datasource.second.timeBetweenEvictionRunsMillis=40000
spring.datasource.second.minEvictableIdleTimeMillis=300000
接下来是jdbctemplate的设置
创建一个Config类
import javax.sql.DataSource;
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;
/**
* Copyright: Copyright (c) 2018 LanRu-Caifu
*
* @ClassName: DataSourceConfig.java
* @Description: 该类的功能描述
*
* @version: v1.0.0
* @author: coder
* @date: 2018年1月10日 上午10:55:25
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------*
* 2018年1月10日 coder v1.0.0 修改原因
*/
@Configuration
public class DataSourceConfig
{
@Bean(name = "primaryDataSource")
@Qualifier("primaryDataSource")
@ConfigurationProperties(prefix="spring.datasource.primary")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "secondaryDataSource")
@Qualifier("secondaryDataSource")
@Primary
@ConfigurationProperties(prefix="spring.datasource.second")
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")
protected JdbcTemplate jdbcTemplate1;
@Autowired
@Qualifier("secondaryJdbcTemplate")
protected JdbcTemplate jdbcTemplate2;