项目概述
小傅哥学过的源码有很多,包括;Spring、Dubbo、MQ、任务调度框架等,但最让我受益的是 MyBatis 源码。因为其他的大部分源码框架都是解决技术问题,但日常的开发中,做技术组件造轮子的时候并不多,大部分是做业务相关的组件或者解决业务场景问题。
而 MyBatis 源码就是一个"双边生意",处理 dao 和 mysql 的关联映射,这中间抽象出了;解析、会话、数据源、池化、工厂、代理、执行器等各类高内聚和低耦合的设计。
如果说 Spring 是卧龙,那 MyBatis 就一定可以称之为凤雏!
我的感受是;Spring 复杂精妙,设计的高。MyBatis 大开大和,设计的硬。两个都学习下来,那你的代码写出来可谓是黄四郎,黄老爷的代码了!
源码设计图展示
这一套图的创作,来自于小傅哥在公司层面分享的技术公开课,每周固定时间分享。每次都从听众的反馈中,细腻的调整讲课视频的内容和涉及的图稿。让大家更有渐进式的感觉来学习源码,从0到1,也就可以很好的接受框架源码中的设计技巧,来辅助日常的业务开发。
1. 代理和工厂
深入解析MyBatis中代理模式和工厂模式的设计思想,理解映射器的创建和管理机制。
2. 会话数据源
学习SqlSession的生命周期管理和数据源的配置与连接池的实现原理。
3. 动态上下文
掌握MyBatis动态SQL的解析机制和上下文环境的构建过程。
4. 一二级缓存
深度剖析MyBatis缓存机制的设计原理和实现细节,提升查询性能。
单看这些图小伙伴们就会知道小傅哥需要花费好大的经历!但能帮助大家更加有效的学习,我也会非常有成就感!
全程有视频
每一张图的背后都有一次源码讲解的视频课,这些视频与之前的录制的MyBatis视频不同,这次主要以源码的设计思想为核心进行讲解,让大家彻底感受到框架源码的设计魅力和高级编码的技巧手段。
有了这样的积累,你以后也能做出非常漂亮的工程结构和代码实现。
这种一点点🤏🏻带着你学习的方式,用架构师多年积累的经验给你讲解,要远比自己看吸收的更多。否则一头扎进去源码,根本出不来。
课程目录
完整20章课程内容
- 第1章:开篇介绍,我要带你撸 Mybatis 啦!
- 第2章:创建简单的映射器代理工厂
- 第3章:实现映射器的注册和使用
- 第4章:Mapper XML的解析和注册使用
- 第5章:数据源的解析、创建和使用
- 第6章:数据源池化技术实现
- 第7章:SQL执行器的定义和实现
- 第8章:把反射用到出神入化
- 第9章:细化XML语句构建器,完善静态SQL解析
- 第10章:使用策略模式,调用参数处理器
- 第11章:流程解耦,封装结果集处理器
- 第12章:完善ORM框架,增删改查操作
- 第13章:通过注解配置执行SQL语句
- 第14章:解析和使用ResultMap映射参数配置
- 第15章:返回Insert操作自增索引值
- 第16章:解析含标签的动态SQL语句
- 第17章:Plugin插件功能实现
- 第18章:一级缓存
- 第19章:二级缓存
- 第20章:【作业】整合Spring
学完写简历
实习,校招,简历有一个业务项目 + 组件/一个源码学习项目,可以说竞争力是非常强的,小傅哥带的不少伙伴都是这样配合,斩获了非常多的大厂Offer!最后都纠结选哪家了!
加入小傅哥技术社群
加入小傅哥技术社群,学习全部实战项目。包括手写 MyBatis 在内的多个企业级项目,全程手把手教学,提供完整的学习路径和技术支持,助你快速提升技术能力!
立即加入学习