实战代码(六):Springboot配置多数据源

一、理论基础

本示例基于dynamic-datasource,源码地址请点击此处进入GitHub

dynamic-datasource-spring-boot-starter 是一个基于springboot的快速集成多数据源的启动器。

它可以实现Springboot启动时加载多个DB配置,不管是多个mysql还是mysql、sqlite等混合使用。

关键注释
@DS("这里填写你的db配置名称")
在service的类或方法上使用,可以指定该类或方法所使用的DataSource
如果不使用此注解,表示使用默认配置

二、实战代码

2.1 依赖引入

<!-- 多数据源 -->
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
   <version>3.2.1</version>
</dependency>

2.2 配置文件

spring:
    datasource:
        dynamic:
            datasource:
                demo1:
                    driver-class-name: com.mysql.cj.jdbc.Driver
                    username: root
                    password: root
                    url: jdbc:mysql://127.0.0.1:3306/demo1?useSSL=false
                demo2:
                    driver-class-name: com.mysql.cj.jdbc.Driver
                    username: root
                    password: root
                    url: jdbc:mysql://127.0.0.1:3306/demo2?useSSL=false
            # 默认db为的demo1
            primary: demo1

2.3 示例代码

除了使用注解跟单数据源不一样,其余的地方都跟单数据源一样

@Service
@DS("demo2")
public class DicServiceImpl extends ServiceImpl<DicMapper, Dic> implements IDicService {


    @Override
    public void test {
       System.out.print("这是一个读取demo2数据库的示例")
    }
}
@Service
public class DicServiceImpl extends ServiceImpl<DicMapper, Dic> implements IDicService {

    @Override
    public void test {
       System.out.print("这是一个读取默认数据库配置demo2的示例")
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容