SpringBoot配置多数据源

唠嗑:今天写项目,我们需要用到另外一个项目里面的大量数据和表,一个同事配置了多数据源,记录一下。

1.引入依赖报

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>3.4.1</version>
        </dependency>

2.配置多数据源

spring.datasource.dynamic.primary=master
spring.datasource.dynamic.strict=false
spring.datasource.dynamic.datasource.master.url=数据库连接地址
spring.datasource.dynamic.datasource.master.username=账号
spring.datasource.dynamic.datasource.master.password=密码
spring.datasource.dynamic.datasource.master.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.dynamic.datasource.master.type=com.alibaba.druid.pool.DruidDataSource
#配置的数据源  slave_1数据源名称
spring.datasource.dynamic.datasource.slave_1.url=数据库连接地址
spring.datasource.dynamic.datasource.slave_1.username=账号
spring.datasource.dynamic.datasource.slave_1.password=密码
spring.datasource.dynamic.datasource.slave_1.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.dynamic.datasource.slave_1.type=com.alibaba.druid.pool.DruidDataSource

3.如何使用 需要建立对应的实体类和mapper


200.png
public Object selectStoreSite(JsxSysSite entity,
                                  @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
                                  @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
        IPage<JsxSysSite> status = sysSiteMapper.selectPage(new Page<JsxSysSite>(pageNum, pageSize),
                new QueryWrapper<>(entity)
                    .orderByDesc("id"));
        return new CommonResult().success(status);
    }

@DS(“slave_1”)表示这个方法就是访问的配置的数据源里面的数据。
@DS(“slave_1”) 括号内即是application.properties中配置的数据源名称,不加注解默认是访问主库master,可加在service方法上,也可加在mapper方法上,但强烈不建议同时在service和mapper注解。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容