本文最后更新于101 天前,其中的信息可能已经过时。
springboot 多数据源使用
引入依赖
<dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>3.5.0</version> </dependency>
配置数据源
spring: datasource: type: com.alibaba.druid.pool.DruidDataSource dynamic: primary: master datasource: # 主库 master: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://192.168.1.144:3308/citrus?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&useSSL=false username: root password: 123456 # 动态环境库 dh: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver url: jdbc:sqlserver://192.168.1.8:1433;databaseName=dh username: sa password: 123456
解释一下:
dynamic 下的 datasource 可以配置多个数据库,
其中 master 和 dh 就是配置文件读到的 库名
primary : 可以指定一个库名为主库,若以后写Sevice层 或Mapper层时,不指定库,那就代表使用的是主库
代码使用
主库使用:和单数据源时代码书写时一样的,不需要改变
其它库使用: 就在Bean注入时,加一个
@DS("库名")
注解就行sevice层
@DS("dh") @Service public class DHDevpropertynameServiceImpl extends ServiceImpl<DHDevpropertynameMapper, DHDevpropertyname> implements DHDevpropertynameService { }