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
分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构