前言
通过前面几篇文章的介绍,想必大家对于MyBatis有了一个比较深的认知了,分析了原理之后,那么手写一个MyBatis就很简单了,当然要写成官方性能这么高的,是需要比较深的技术功底了。
编码核心对象分析
根据前面的文章,我们先分析一下要自己手写一个MyBatis几个不可少的核心对象:
(1)SqlSessionFactoryBuilder:用于构建SqlSessionFactory的。
(2)SqlSessionFactory : 用于管理SqlSession的。
(3)SqlSession:让开发人员方便操作数据库的。
(4)Executor:真正和数据库进行交互的。
(5)MapperProxy:mapper接口的代理类。
(6)MapperStatement:用于保存xml配置的mapper信息。
编码核心流程分析
为了更好的理解,我们将整个流程分为3个阶段:
(1)初始化阶段:解析配置文件(mybatis-config.xml)构建SqlSessionFactory。
(2)代理阶段:封装MyBatis的编程模型,使用mapper接口开发。
(3)数据读写阶段:通过SqlSession完成SQL的解析,参数的映射,SQL的执行。
(1)如何解析配置文件?
.propeties文件的解析:可以使用Properties进行解析。
.xml文件的解析:可以使用JDom、 Dom4J、SAX
(2)MapperProxy
这个通过上面分析的话,就很简单了,只要使用动态代理构建一个代理类就可以了。
(3)数据库读写
数据库读写的话,这个就是原生的jdbc进行执行SQL语句,在返回的数据中使用Java的反射技术组装成一个实体类对象即可。
à悟空学院:https://t.cn/Rg3fKJD
学院中有Spring Boot相关的课程!点击「阅读原文」进行查看!
SpringBoot视频:http://t.cn/A6ZagYTi
Spring Cloud视频:http://t.cn/A6ZagxSR
SpringBoot Shiro视频:http://t.cn/A6Zag7IV
SpringBoot交流平台:https://t.cn/R3QDhU0
SpringData和JPA视频:http://t.cn/A6Zad1OH
SpringSecurity5.0视频:http://t.cn/A6ZadMBe
Sharding-JDBC分库分表实战:http://t.cn/A6ZarrqS
分布式事务解决方案「手写代码」:http://t.cn/A6ZaBnIr
相关推荐
开源框架面试题系列:Spring+SpringMVC+MyBatis08
开源框架面试题系列:Spring+SpringMVC+MyBatis。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
手写mybatis核心流程代码demo手写mybatis核心流程代码demo手写mybatis核心流程代码demo手写mybatis核心流程代码demo手写mybatis核心流程代码demo手写mybatis核心流程代码demo手写mybatis核心流程代码demo手写mybatis...
开源框架面试题系列:Spring+SpringMVC+MyBatis.zip
手写mybatis,实现了基于JDBC访问数据库层,以及mybatis的XML映射
另外还有加入框架的写法,此是最基础 的登录十天免登陆的。
阿里巴巴P7架构师纯手工打造MyBatis源码——1小时解密底层源码.txt 需要更多往期录播资料可以联系我
不借助其他任何框架,从最底层开始着手,用最简单的代码,将mybatis的底层框架,手写出来,让你对mybatis有一个更加深刻和直观的理解 详见:https://blog.csdn.net/weixin_43860634/article/details/127177579
本资源是手写mybatis实现查询所有操作,详细描述了mybatis框架查询所有操作的实现过程,通过手动模拟mybatis框架的实现过程对mybatis框架有更深刻的认识。
开源框架面试题系列集:Spring+SpringMVC+MyBatis
开发工具 框架JAR mybatis-3.4.2开发工具 框架JAR mybatis-3.4.2开发工具 框架JAR mybatis-3.4.2开发工具 框架JAR mybatis-3.4.2开发工具 框架JAR mybatis-3.4.2开发工具 框架JAR mybatis-3.4.2开发工具 框架JAR ...
自己手写的一个半自动框架,里面有运行例子,部分代码从mybatis中抽出
SSM框架课程中共包含5个课程模块,分别是Spring框架、SpringMVC框架、Maven高级(缺)、SpringBoot框架、MyBatis-Plus框架。
手写实现mybatis,mybatis处理流程图,mybatis实现需要的几个函数,各个函数的调用。
上传的项目是MyBatis的示范项目名称:jpetstore(宠物店) 本项目简单易读。是初步了解MyBatis的功能的最好示范代码。 主要示范 如何实现spring3.0.5与mybatis3.0.5的整合。 如何实现spring3.0.5与Stripes1.5.6(类似...
经典面试学习知识
《手写Mybatis》第4章:Mapper XML的解析和注册使用.doc
本课程全面讲解了Mybatis-Plus框架的使用,从快速入门到原理分析再到插件的应用。每一个知识点都有案例进行演示学习,最终通过学习你将全面掌握MP的使用,从而使Mybatis的的开发更加的高效,达到事半功倍的效果。 ...
采用SpringBoot2.0、MyBatis-Plus、Shiro框架,开发的一套权限系统 采用SpringBoot2.0、MyBatis-Plus、Shiro框架,开发的一套权限系统 采用SpringBoot2.0、MyBatis-Plus、Shiro框架,开发的一套权限系统 采用...
围绕什么是mybatis框架?,mybatis框架原理介绍 ,mabatis的使用的代码示例以及心得体会