1.pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--spring jdbc-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
2.application.properties
app.datasource.first.type=com.zaxxer.hikari.HikariDataSource
app.datasource.first.maximum-pool-size=30
app.datasource.first.url=jdbc:mysql://localhost:3306/sjdl?serverTimezone=GMT%2B8&useUnicode=true&&characterEncoding=UTF-8
app.datasource.first.username=root
app.datasource.first.password=12345678
app.datasource.first.max-total=30
app.datasource.second.type=com.zaxxer.hikari.HikariDataSource
app.datasource.second.maximum-pool-size=30
app.datasource.second.url=jdbc:mysql://localhost:3306/bootdb?serverTimezone=GMT%2B8&useUnicode=true&&characterEncoding=UTF-8
app.datasource.second.username=root
app.datasource.second.password=12345678
app.datasource.second.max-total=30
3.数据源配置
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
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;
/**
* @author Created by niugang on 2019/12/6/9:59
*/
@SuppressWarnings("ConfigurationProperties")
@Configuration
public class DataSourceConfig {
@Bean
@Primary
@ConfigurationProperties("app.datasource.first")
public DataSourceProperties firstDataSourceProperties() {
return new DataSourceProperties();
}
@Bean
@Primary
@ConfigurationProperties("app.datasource.first")
public DataSource firstDataSource() {
return firstDataSourceProperties().initializeDataSourceBuilder().build();
}
@Bean
@ConfigurationProperties("app.datasource.second")
public DataSourceProperties secondDataSourceProperties() {
return new DataSourceProperties();
}
@Bean
@ConfigurationProperties("app.datasource.second")
public DataSource secondDataSource() {
return secondDataSourceProperties().initializeDataSourceBuilder().build();
}
/**
* @return JdbcTemplate
*/
@Bean(name = "firstJdbcTemplate")
public JdbcTemplate firstJdbcTemplate() {
return new JdbcTemplate(firstDataSource());
}
/**
* Bean必须设置name,否则在service中不能区分出那个数据源
*
* @return JdbcTemplate
*/
@Bean(name = "secondJdbcTemplate")
public JdbcTemplate secondJdbcTemplate() {
return new JdbcTemplate(secondDataSource());
}
}
微信公众号