详解Springboot之整合JDBCTemplate配置多数据源

时间:2021-09-28 11:15:53

一、前言

现在在我们的项目中,使用多数据源已经是很常见的,下面,这里总结一下springboot整合jdbcTemplate配置多数据源的代码示例,以方便以后直接使用.

二、配置文件

?
1
2
3
4
5
6
7
8
9
10
11
12
spring:
  datasource:
    datasourceone:
      driverClassName: com.mysql.jdbc.Driver
      url: jdbc:mysql://localhost:3306/eesy?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
      username: root
      password: root
    dataSourcetwo:
      driverClassName: com.mysql.jdbc.Driver
      url: jdbc:mysql://localhost:3306/eesy?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
      username: root
      password: root

三、数据源配置类

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.ssl.datasource.config;
 
import org.springframework.beans.factory.annotation.Qualifier;
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 org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
 
import javax.sql.DataSource;
 
@Configuration
public class DataSourceOne {
 
    @Bean("name-template-one")
    public NamedParameterJdbcTemplate namedParameterJdbcTemplate(@Qualifier("datasource-one") DataSource dataSource){
        return new NamedParameterJdbcTemplate(dataSource);
    }
 
    @Bean("template-one")
    public JdbcTemplate jdbcTemplate(@Qualifier("datasource-one") DataSource dataSource){
        return new JdbcTemplate(dataSource);
    }
 
    @Bean("datasource-one")
    public DataSource dataSource(@Qualifier("jdbc-config-one") DataSourceProperties dataSourceProperties){
        return dataSourceProperties.initializeDataSourceBuilder().build();
    }
 
    @Primary
    @Bean("jdbc-config-one")
    @ConfigurationProperties(prefix = "spring.datasource.datasourceone")
    public DataSourceProperties properties(){
        return new DataSourceProperties();
    }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.ssl.datasource.config;
 
import org.springframework.beans.factory.annotation.Qualifier;
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 org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
 
import javax.sql.DataSource;
 
@Configuration
public class DataSourceTwo {
 
    @Bean("name-template-two")
    public NamedParameterJdbcTemplate namedParameterJdbcTemplate(@Qualifier("datasource-two") DataSource dataSource){
        return new NamedParameterJdbcTemplate(dataSource);
    }
 
    @Bean("template-two")
    public JdbcTemplate jdbcTemplate(@Qualifier("datasource-two") DataSource dataSource){
        return new JdbcTemplate(dataSource);
    }
 
    @Bean("datasource-two")
    public DataSource dataSource(@Qualifier("jdbc-config-two") DataSourceProperties dataSourceProperties){
        return dataSourceProperties.initializeDataSourceBuilder().build();
    }
 
    @Bean("jdbc-config-two")
    @ConfigurationProperties(prefix = "spring.datasource.datasourcetwo")
    public DataSourceProperties properties(){
        return new DataSourceProperties();
    }
}

到此这篇关于详解Springboot之整合JDBCTemplate配置多数据源的文章就介绍到这了,更多相关springboot整合JDBCTemplate内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/sunshunli/article/details/115663502