• pringBoot多数据源配置详细教程


    目标

    • 简单多数据配置
    • JdbcTemplate 多数据源配置

    多数据源配置

    首先是配置文件

    • 这里采用yml配置文件,其他类型配置文件同理
    • 我配置了两个数据源,一个名字叫ds1数据源,一个名字叫ds2数据源,如果你想配置更多的数据源,继续加就行了
    spring:
     # 数据源配置
      datasource:
        ds1: #数据源1
          driver-class-name: com.mysql.jdbc.Driver # mysql的驱动你可以配置别的关系型数据库
          url: jdbc:mysql://ip:3306/db1 #数据源地址
          username: root # 用户名
          password: root # 密码
        ds2: # 数据源2
          driver-class-name: com.mysql.jdbc.Driver # mysql的驱动你可以配置别的关系型数据库
          url: jdbc:mysql://ip:3307/db2#数据源地址
          username: root # 用户名
          password: root # 密码

    增加一个Springboot的配置类

    /**
     * 多数据源配置
     */
    @Configuration
    public class DataSourceConfig {
    
        //主数据源配置 ds1数据源
        @Primary
        @Bean(name = "ds1DataSourceProperties")
        @ConfigurationProperties(prefix = "spring.datasource.ds1")
        public DataSourceProperties ds1DataSourceProperties() {
            return new DataSourceProperties();
        }
    
        //主数据源 ds1数据源
        @Primary
        @Bean(name = "ds1DataSource")
        public DataSource ds1DataSource(@Qualifier("ds1DataSourceProperties") DataSourceProperties dataSourceProperties) {
            return dataSourceProperties.initializeDataSourceBuilder().build();
        }
    
        //第二个ds2数据源配置
        @Bean(name = "ds2DataSourceProperties")
        @ConfigurationProperties(prefix = "spring.datasource.ds2")
        public DataSourceProperties ds2DataSourceProperties() {
            return new DataSourceProperties();
        }
    
        //第二个ds2数据源
        @Bean("ds2DataSource")
        public DataSource ds2DataSource(@Qualifier("ds2DataSourceProperties") DataSourceProperties dataSourceProperties) {
            return dataSourceProperties.initializeDataSourceBuilder().build();
        }
    
    }

    JdbcTemplate多数据源配置

    增加一个Springboot配置类

    /**
     * JdbcTemplate多数据源配置
     * 依赖于数据源配置
     *
     * @see DataSourceConfig
     */
    @Configuration
    public class JdbcTemplateDataSourceConfig {
    
        //JdbcTemplate主数据源ds1数据源
        @Primary
        @Bean(name = "ds1JdbcTemplate")
        public JdbcTemplate ds1JdbcTemplate(@Qualifier("ds1DataSource") DataSource dataSource) {
            return new JdbcTemplate(dataSource);
        }
    
        //JdbcTemplate第二个ds2数据源
        @Bean(name = "ds2JdbcTemplate")
        public JdbcTemplate ds2JdbcTemplate(@Qualifier("ds2DataSource") DataSource dataSource) {
            return new JdbcTemplate(dataSource);
        }
    }

    传送门

  • 相关阅读:
    Flask 服务器设置host=0.0.0.0之后外部仍然无法访问
    HTB::Sauna
    VulnHub::DC-4
    【CTFHub 技能树】RCE
    【CTFHub 技能树】反射型XSS
    VulnHub::DC-3
    HashMap中add()方法的源码学习
    equals和HashCode深入理解(转)
    AQS原理分析
    初步认识线程安全性
  • 原文地址:https://www.cnblogs.com/JonaLin/p/12703968.html
Copyright © 2020-2023  润新知