软件编程
位置:首页>> 软件编程>> java编程>> 详解Springboot之整合JDBCTemplate配置多数据源

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

作者:程序员孙大圣  发布时间:2023-05-03 13:40:43 

标签:springboot,JDBCTemplate,多数据源

一、前言

现在在我们的项目中,使用多数据源已经是很常见的,下面,这里总结一下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();
   }
}

来源:https://blog.csdn.net/sunshunli/article/details/115663502

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com