**《Mybatis源码解析》课程导读**

在Java企业级开发体系中,MyBatis作为持久层框架的基石,其灵活性与性能优势使其成为众多开发者首选的ORM解决方案。然而,对于许多开发者而言,MyBatis往往止步于“会用”的层面:熟练编写XML映射文件、掌握基本的注解开发、理解动态SQL的语法结构,却鲜少深入探究其背后的执行机理与核心设计思想。当遇到复杂的调试问题或需要进行深度定制时,这种认知的局限便显露无遗。本课程《Mybatis源码解析》正是为突破这一瓶颈而设,旨在帮助学员从“使用者”进阶为“掌控者”,通过层层剥茧式的源码剖析,真正吃透MyBatis的运行内核。

课程架构严谨,遵循“基础巩固—机制深化—源码深挖”的递进逻辑。开篇部分,我们将从MyBatis的整体层次结构入手,系统梳理其配置详解、映射文件规范以及注解开发模式,为后续的深入理解奠定坚实的API应用基础。特别针对动态SQL中高频使用的`if`、`where`、`set`及`foreach`标签,课程不仅讲解用法,更会结合底层解析原理,说明这些标签如何被转化为高效的SQL语句,确保学员知其然更知其所以然。此外,关于一级缓存与二级缓存的机制差异、延迟加载的实现策略,以及继承映射等高级特性,均会有详细拆解,解决实战中的常见痛点。

课程的核心精华在于后半部分的源码深度解析,这是本门课区别于普通使用教程的关键所在。我们将沿着MyBatis的生命周期,从初始化阶段开始,详细追踪`SqlSessionFactory`的构建过程,揭示XML配置是如何被解析并转化为内存中的核心数据结构。随后,课程将重点剖析Binding阶段,阐明Mapper接口代理对象是如何生成的,从而打通从Java方法调用到SQL执行的完整链路。在核心执行器层面,我们将深入`Executor`、`StatementHandler`、`ParameterHandler`及`ResultSetHandler`四大组件的内部实现,剖析它们如何协同工作以完成一次精准的数据库交互。对于插件开发感兴趣的同学,课程还将专门讲解拦截器链的机制与类型处理器的扩展原理,并提供通用Mapper及MyBatis-Plus的使用指导,助你提升开发效率。同时,针对Spring集成场景,我们将深入`SqlSessionFactoryBean`与`MapperScannerConfigurer`的源码,厘清MyBatis与Spring容器融合的每一个关键细节。

通过本课程的学习,你不仅能构建起完整的MyBatis知识体系,更能具备独立排查疑难杂症的能力,甚至能够基于其源码设计思想进行二次开发。无论你是希望夯实基础、提升面试竞争力,还是追求技术深度、实现架构级掌控,这门课都将是你在MyBatis领域深耕的必备指南。让我们一起走进源码世界,揭开MyBatis的神秘面纱,开启从框架使用者到源码精通者的蜕变之旅。

课程目录

课程目录31 集
  • 1 MyBatis课程安排 (10:34).mp4
  • 2 MyBatis概述与入门案例 (38:55).mp4
  • 3 MyBatis配置详解 (07:47).mp4
  • 4 MyBatis映射文件详解 (18:13).mp4
  • 5 MyBatis注解方式开发 (32:17).mp4
  • 6 动态SQL之if (23:56).mp4
  • 7 动态SQL之where,set (25:58).mp4
  • 8 动态SQL之foreach (11:45).mp4
  • 9 MyBatis与Spring的集成 (46:29).mp4
  • 10 mybatis延迟加载 (51:25).mp4
  • 11 mybatis继承映射 (07:39).mp4
  • 12 mybatis一级缓存 (47:36).mp4
  • 13 二级缓存详解1 (10:30).mp4
  • 14 二级缓存详解2 (52:56).mp4
  • 15 插件开发1 (53:39).mp4
  • 16 MyBatis插件开发 (24:18).mp4
  • 17 MyBatis类型处理器详解 (41:46).mp4
  • 18 通用Mapper使用 (49:28).mp4
  • 19 通用Mapper分页查询 (24:29).mp4
  • 20 MyBatis-Plus详解 (30:20).mp4
  • 21 MyBatis整体层次结构讲解 (15:36).mp4
  • 22 MyBatis加载过程详解以及内部重要成员 (44:12).mp4
  • 23 MyBatis的加载阶段(初始化)源码分析 (01:00:44).mp4
  • 24 MyBatis的Binding阶段源码分析 (51:59).mp4
  • 25 SqlSession细粒度分析 (01:00:47).mp4
  • 26 Executor详解 (19:01).mp4
  • 27 StatementHandler源码分析 (32:03).mp4
  • 28 ParameterHandler与ResultSetHand (31:33).mp4
  • 29 SqlSessionFactoryBean源码分析 (25:51).mp4
  • 30 MapperScannerConfigurer源码分析 (47:04).mp4
  • 31 MyBatis插件源码分析 (58:23).mp4