MyBatis源码解析【1】准备工作
终于迎来了这一天,我觉得现在的我在经历了长时间的学习和开发之后有了一定的经验,所以准备开始学习源码。
今天我将做好充足的准备,在接下来的一个月中,努力的爬过这座大山。(可能不用一个月,但是我觉得需要仔细和深入)
前提说明
1、之前没有读过任何的源码,如果你也没有,欢迎一步步一起学习。
2、需要至少1年以上的开发经验,否则个人认为读源码的意义不会很大,不过也不是说不行。
3、我只是记录学习的过程,如果有任何问题,可能会翻车,尽量做到深入浅出。
4、之所以选择Mybatis作为我读源码的第一步,是因为:使用的多,API有中文,源码本身量不大但也不少,经过几个版本之后已经成型。
准备的工具
开发环境:IDEA、Maven
看源码当然首先要有源码。这里采用当前最新的版本。3.4.4
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.4</version> </dependency>
然后是Mybatis的API
官网中文API地址:http://www.mybatis.org/mybatis-3/zh/
GitHub地址:https://github.com/mybatis/
书籍(不是必须的,只是作为一个参考):《深入浅出MyBatis》技术原理与实战 杨开振
书是新的,我也是随便网上找了一本,因为MyBatis的书不多。应该会有比较大的收获吧。(书中使用的版本是3.3.0)
学习计划
1、了解Mybatis运行的流程,对整个框架有整体的把握。
2、深入工作原理,对详细的参数进行分析。
3、从各种SQL语句的执行和返回,分析一条SQL语句是如何执行的,最后返回的结果是如何处理的。一条线贯穿。
4、了解各种类在其中的作用,以及为什么要这样设计,这样设计的好处,以及其中使用的设计模式。
5、在实际的使用中需要注意的点,以及实际中可以使用的一些技巧。
6、mybatis与Spring的关系,这里不会特别深入,需要知道一些配置和两者如何进行协同工作的。
7、如果有时间会自己进行MyBatis的部分功能的实现,模仿源码去构建一些类,实现那些功能。
8、整理所学的知识,做一个整体的总结。
学习的过程中会参考网上很多的博客中,这个具体会在每一篇具体提出。
学习中会注重实际,很多在实际中基本不会使用的部分会简略的带过,不会纠结与那些不实际的东西。
因为对于一个框架我们在实际中不可能把它所有的每一个属性都利用起来。
最后还是坚持、坚持再坚持。
加油!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2016-07-01 java下发电子邮件demo
2016-07-01 七月不断更系列,每天至少更新3份