01. MyBatisPlus 插件
集成 dynamic-datasource 实现多数据源增强
dynamic-datasource 是一个基于springboot的快速集成多数据源的启动器。同时支持数据源分组、数据库敏感配置信息加密、自定义注解、动态增加移除数据源、读写分离、本地多数据源事务方案、基于 Seata 的分布式事务方案等等。
多数据源使用:使用 @DS 切换数据源。
@DS 可以注解在方法上或类上,同时存在就近原则 方法上注解 优先于 类上注解。
注意:使用了多数据源一定要指定主数据源,默认主数据源是 master。
1 | spring: |
遇到过的问题
无法找到主数据源
问题:CannotFindDataSourceException: dynamic-datasource can not find primary datasource
解答:经过分析,发现原来是这个新的 SpringBoot 项目的 pom.xml 文件中依赖了其他项目模块,而且该项目模块依赖了如下:
1 | <dependency> |
如果是没有多源数据库的需求的话,直接把 dynamic-datasource-spring-boot-starter 这个依赖删掉就行。
如果是有多数据源的需求的话,就在项目的 application.yml 文件中配置多数据源信息。