架构进阶之路:彻透理解MyBatis实现原理,三步手写MyBatis框架

前言

mybatis的前身是iBatis,其源于“Internet”和“abatis”的组合,是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集,它可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJO映射成数据库中的记录。

架构进阶之路:彻透理解MyBatis实现原理,三步手写MyBatis框架

一、Mybatis的架构设计简介

架构进阶之路:彻透理解MyBatis实现原理,三步手写MyBatis框架

Mybatis的功能架构分为三层:

  • **接口层:**提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层接收到调用请求就会调用数据处理层来完成具体的数据处理。
  • **数据处理层:**负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
  • **框架支撑层:**负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。

二、梳理自己的Mybatis的设计思路

大家平时应该经常使用 MyBatis 框架,对于 SqlSessionFactory、SqlSession、Mapper 等也有一些概念。**在这免费分享一个手写MyBatis的视频教程,会讲到如何从源码来分析实现这些概念。**看源码对于很多人来说都是一个比较枯燥和乏味的过程,如果不做抽象和总结,会觉得非常乱。另外,看源码不要去扣某个细节,尽量从宏观上理解它。这样带着结果看过程你就会知道设计者为什么这么做。

架构进阶之路:彻透理解MyBatis实现原理,三步手写MyBatis框架

MyBatis 框架的架构图,也是实现手写MyBatis框架的重要三步

image.png

  1. 首先创建 SqlSessionFactory 实例,SqlSessionFactory 就是创建 SqlSession 的工厂类。
  2. 加载配置文件创建 Configuration 对象,配置文件包括数据库相关配置文件以及我们在 XML 文件中写的 SQL。
  3. 通过 SqlSessionFactory 创建 SqlSession。
  4. 通过 SqlSession 获取 mapper 接口动态代理。
  5. 动态代理回调 SqlSession 中某查询方法。
  6. SqlSession 将查询方法转发给 Executor。
  7. Executor 基于 JDBC 访问数据库获取数据,最后还是通过 JDBC 操作数据库。
  8. Executor 通过反射将数据转换成 POJO 并返回给 SqlSession。
  9. 将数据返回给调用者。

三、从 0 开始手写一个 Mybatis 框架,三步搞定教学!

先前说到整个 MyBatis 框架的架构图,也是实现手写MyBatis框架的重要三步

架构进阶之路:彻透理解MyBatis实现原理,三步手写MyBatis框架

本次教学内容分为:

1.五分钟重温MyBatis,抓住故事主线

2.手写第一步,你必须了解的初始化

3.手写第二步,MyBatis那些不为人知的秘密?

4.手写第三步,论标准流程的重要性!

5.深挖MyBatis的更多干货

为了方便大家学习,在这里还是免费分享一下这位阿里大咖的手写MyBatis框架视频给大家,提供大家学习观看,有需要的朋友希望能得到你们的点赞关注支持一下,后续还会更新更多手写系列文章及视频免费分享给大家!

架构进阶之路:彻透理解MyBatis实现原理,三步手写MyBatis框架

视频免费获取方式:+点赞+关注后,点这里即可获取这份视频资料及下面更多Java架构进阶学习资料的免费领取方式!

image.png

更多学习资料分享

架构进阶之路:彻透理解MyBatis实现原理,三步手写MyBatis框架

更多视频笔记分享

image.png

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值