从Mybatis源码到Spring动态数据源底层原理分析、Mybatis初始化源码浅析

愿天堂没有BUG

共 7628字,需浏览 16分钟

 ·

2021-10-25 08:24

一、引入

本系列文章最终的目标是为了分析spring动态数据源的原理, 相信大家在公司的开发中应该都会遇到一个项目中出现多个数据库连接的情况, 以我遇到的一种情况来说, 用户根据id分布在不同的数据库, 每个数据库中的表结构一模一样, 这就会导致, 在执行业务代码的时候, 不同的用户需求在不同的数据库中执行对应的sql, 即在mybatis作为持久层框架的情况下, 一个mapper可能会在不同的情况下, 对不同的数据库进行操作, 这就需要我们有能够执行动态数据源的功能, 而在这其中, 最重要的一部分就是事务了(不是分布式事务, 应该属于动态事务), @Transactional中标注的业务逻辑, 在不同的数据源下需要执行不同数据库的事务, 为了能够清晰的了解到spring-mybatis是如何联动实现动态数据源, 以及实现动态事务的原理, 我们从mybatis的源码开始分析, 到spring整合mybatis的原理, 到spring事务原理, 最终来展示动态数据源情况下动态事务的原理

注意事项, mybatis源码相对于之前我分析的spring、springmvc的源码来说, 会更加的简单, 但是我不会把每一个细节都分析的非常底层, 而是从一个整体的流程出发进行分析, 在对mybatis有一个整体的认知之后, 如果想深入的了解某一块的内容, 那么会变得非常轻松, 举个例子, 对于如何将一个

图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报