springboot+mybatis和 springboot+mybatisPlus 实现多数据源加【代码实例】

最近想起前一段时间想写Demo的多数据源一直未写实例,所以对该部分功能进行了整理,并写了Demo实例,有小伙伴需要可以下载demo源码研究,如有问题可以沟通讨论。文中对核心类做了简单介绍如果想更详细了解可以直接下载源码Demo。
一、
(1)springboot+mybatis多数据源配置 重点关注 config目录相关代码
1、DBTypeEnum:数据源枚举值
2、DataSourceConfiguration:动态数据源配置,
1)初始化数据源 如有db1和db2,并设置到DynamicDataSource
2)设置相关 SqlSessionFactoryBean 如扫描 mapper/"**"/*.xml文件、扫描Model、设置数据列转换驼峰实体字段
3、DynamicDataSource: 用于路由数据源和设置多个数据源 充当加工后DataSource; 【determineCurrentLookupKey】最终确定用哪一个数据源
4、DataSourceContextHolder:使用 ThreadLocal 结合切面实现数据源切换

(2)springboot+mybatisPlus 多数据源配置
与(1)springboot+mybatis多数据源配置 配置基本相同、
区别:
1、其中 DataSourceConfiguration中sqlSessionFactory 使用MybatisSqlSessionFactoryBean
2、启动项及启动类不用排除DataSourceAutoConfiguration 也可正常运行

二、 演示
1、执行resource中 sql/createSql.sql文件创建数据库和表
2、直接调用:http://localhost:8080/get
看控制台会输出相关信息
ps:
启动项需exclude = DataSourceAutoConfiguration.class 排除默认DataSourceAutoConfiguration
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)

附代码实例:1、springboot+mybatis实例源码:https://files.cnblogs.com/files/liyanbofly/mybaits_multi_datasource.rar?t=1659520651
2、springboot+mybatisPlus实例源码:https://files.cnblogs.com/files/liyanbofly/mybatisP_multi_datasource.rar?t=1659534365
posted @ 2022-08-03 17:55  xiaoBai1001  阅读(119)  评论(0编辑  收藏  举报