springboot+mybatisplus 配置多数据源

1、引入依赖

pom.xml文件引入dynamic-datasource-spring-boot-starter包

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

2、配置数据源

spring.datasource.dynamic.datasource.master.url=jdbc:mysql://127.0.0.1:3306/db1?useUnicode=true
spring.datasource.dynamic.datasource.master.username=uuu
spring.datasource.dynamic.datasource.master.password=uuu
spring.datasource.dynamic.datasource.master.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.dynamic.datasource.slave_1.url=jdbc:mysql://127.0.0.1:3306/db2?useUnicode=true
spring.datasource.dynamic.datasource.slave_1.username=uuu2
spring.datasource.dynamic.datasource.slave_1.password= uuu2
spring.datasource.dynamic.datasource.slave_1.driver-class-name= com.mysql.cj.jdbc.Driver

3.在dao层引入 (在service层、方法上添加也可) @DS(“slave_1”)

@Mapper
@DS(“slave_1”)
public interface AbbMapper extends BaseMapper {

}

引入之后该dao、service、方法就会匹配到对应数据源进行查询 默认是master

另外还可以用不同的方式实现,如建立多个session工厂,指定不同的数据源,扫描不同的目录实现多数据源加载;还可以使用AOP动态切换的方式实现等。。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐