信息发布→ 登录 注册 退出

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

发布时间:2026-01-11

点击量:
目录
  • 一、前言
  • 二、配置文件
  • 三、数据源配置类

一、前言

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

二、配置文件

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

三、数据源配置类

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();
    }
}
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();
    }
}
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!