1:引入依赖
<!--多数据源--> <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>2.5.4</version> </dependency>
2:编写配置文件
datasource: dynamic: #默认数据源 primary:db1 #严格模式 strict: true datasource: db1: url: jdbc:mysql...... username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver db2: url: jdbc:mysql...... username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver
#连接池 type: com.alibaba.druid.pool.DruidDataSource
3:使用:
在需要使用db2的controller上 直接增加这个注解,下面就会在使用过程中,改变链接 指向db2的链接
当然,再次过程中,尽量不要同时使用其他datasource注入相关的配置文件,比如自己实现的aop多数据源配置等
@DS("db2")public class TestController extends BaseController {}
注意事项:
在使用了这个多数据源以后,如果我们的mapper.xml文件没有在resources下的话,默认它是找不到这个xml文件的,如果你整合完了以后,发现访问报错,提示找不到***.xml文件,那么这个时候就按照官方说的,把xml文件还是放在resources
下面,新建文件夹,把xml放进去。然后配置文件增加扫描
mybatis-plus: configuration:
#不打印日志 # log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
#打印所有日志 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#扫描xml mapper-locations: classpath*:mapper/**/*.xml
然后测试 如果没有其他问题,理论上这个多数据源就是没有问题了
标签:xml,springboot,数据源,dynamic,datasource,mysql,db2 From: https://www.cnblogs.com/aiqingbi-aifeifei/p/16616663.html