为什么大家更愿意使用MyBatis,读完源码我知道了…

84 阅读3分钟

最近有朋友在忙着面试,刚开始一路过关斩将,结果最后他和我说,面试官问了他下面这几个和Mybatis源码相关的问题:

  • 你确定你真正了解ORM底层原理?
  • Mybatis缓存的实现和使用你清楚吗?
  • Mybatis中Sql解析执行的原理是什么?
  • Mybatis中如何加载Configuration的?
  • Mybatis中Executor接口有几种实现方式?

CRUD时一顿操作猛如虎的他,整个人就懵住了,面试结果可想而知。

同样,为什么许多人工作几年了,每天却还是要花费大量的时间、人力在定位和解决问题上面?

我想,也许这些问题大家都可以通过阅读源码,来找到答案。

为什么要读源码:

  • 帮助你快速的定位和解决问题;
  • 帮助你学习代码的架构(即代码是如何按照模块组织的);
  • 帮助你深度掌握技术框架,提升你的技术功底!
  • 帮助你了解看到的东西具体是如何实现的(如所用的算法、数据结构);

不得不说,源码已经不仅仅是单纯的技术需求,它更是大厂面试的刚需

但是,在实际学习和使用的过程中,大家却总是会有一些避免不了的问题:

1、大家对源码的不重视;

2、源码阅读太枯燥,如果方法不对很容易会被强行劝退。

读源码不是读小说,是要讲原则,用方法的。

所以基于以上这些问题,小编花了三个月的时间整理出一份《Mybatis源码高级分析》+XXX_WWW666666获取带大家直面源码学习过程中的痛点。

一起来看看总目录喔

第一部分:自定义持久层框架

  • 分析jdbc操作问题

  • 问题解决思路

  • 自定义框架设计

  • 自定义框架设计

  • 自定义框架优化

第二部分:Mybatis相关概念

  • 对象/关系数据库映射(ORM)

  • Mybatis简介

  • MyBatis历史

  • MyBatis优势

第三部分:Mybatis基本应用

  • MyBatis开发步骤

  • 环境搭建

  • 编写测试代码

  • mybatis增删改查操作

  • 入门映射配置文件分析

  • 入门核心配置文件分析

  • Mybatis相应API介绍

  • 传统开发方式

  • 代理开发方式

第四部分:Mybatis配置文件深入

  • SqlMapConfig.xml

  • MyBatis核心配置文件层级关系

  • MyBatis常用配置解析

  • mapper.xml

  • 动态sq|语句

第五部分:Mybatis复杂映射开发

  • 一对一查询

  • 一对多查询

  • 多对多查询

第六部分:Mybatis注解开发

  1. MyBatis的常用注解

  2. MyBatis的增删改查

  3. MyBatis的注解实现复杂映射开发

  4. 一对一查询(注解)

  5. 一对多查询(注解)

  6. 多对多查询(注解)

第七部分:Mybatis缓存

  • 一级缓存

  • 二级缓存

  • 二级缓存整合redis

第八部分:Mybatis插件

  • 插件简介

  • Mybatis插件介绍

  • Mybatis插件原理

  • 自定义插件

  • 插件接口

  • 自定义插件

  • 源码分析

  • pageHelper分页插件

  • 通用mapper

第九部分:Mybatis架构原理

  • 架构设计

  • 主要构件及其相互关系

  • 总体流程

第十部分:Mybatis源码剖析

  • 传统方式源码剖析:

  • Mapper代理方式

第十一部分:设计模式

  • Builder构建者模式

  • 工厂模式