Mybatis学习知识合集+手写一个Mybatis框架
1.官方文档
1.1spring 接入文档
javaAPI 使用 mybatis
2.pdf 文档
2.1 入门
《MyBatis 入门教程》
作者网站:
http://www.javaboy.org/
资源下载地址:
MyBatis 入门教程
《MyBatis 入门教程》 作者网站: http://www.javaboy.org/
资源下载地址: MyBatis 入门教程
2.2 源码解析
《一本小小的 MyBatis 源码分析书》
由于书有 12m,就不放到笔者服务器了,请去作者网站下载
作者网站:
https://www.cnblogs.com/nullllun/p/9625518.html
《一本小小的 MyBatis 源码分析书》 由于书有 12m,就不放到笔者服务器了,请去作者网站下载 作者网站: https://www.cnblogs.com/nullllun/p/9625518.html
3.Mybatis 使用示例源码
4.手写 Mybatis 框架
4.1 项目源码:
4.2 项目简介:
simplebatis 为笔者理解 mybatis 的产物,通过学习 mybatis 的使用,然后自己亲自写一个简易 orm 框架,加深印象,也能理解 mapper 中的很多设定,例如: mapper 中为啥需要 resultMap,typeHandler? 为啥需要把 mapper 注册到 config 呢? 为啥返回的对象 bean 里面必须有 set 方法? 为啥 mybatis 需要配置 jdbc? 为啥??? 以上问题其实你如果亲身去设计 mybatis,应该能理解,这些框框条条,目的就是告诉框架一些必要的东西,不然在执行的时候由于条件缺失而无法正确执行。 至于缓存,插件==,这些在 mybatis 基础上面衍生的新功能目的就是增强 mybatis 的作用。 最后说明,mybatis 和 spring 一样,都是超级优秀的框架,每次阅读源码都会有很深的感触,每一个分支都处理得这么完美!
simplebatis 为笔者理解 mybatis 的产物,通过学习 mybatis 的使用,然后自己亲自写一个简易 orm 框架,加深印象,也能理解 mapper 中的很多设定,例如: mapper 中为啥需要 resultMap,typeHandler? 为啥需要把 mapper 注册到 config 呢? 为啥返回的对象 bean 里面必须有 set 方法? 为啥 mybatis 需要配置 jdbc? 为啥??? 以上问题其实你如果亲身去设计 mybatis,应该能理解,这些框框条条,目的就是告诉框架一些必要的东西,不然在执行的时候由于条件缺失而无法正确执行。 至于缓存,插件==,这些在 mybatis 基础上面衍生的新功能目的就是增强 mybatis 的作用。 最后说明,mybatis 和 spring 一样,都是超级优秀的框架,每次阅读源码都会有很深的感触,每一个分支都处理得这么完美!
4.3 项目依赖:
该简易框架只需要依赖 jdk1.7+
该简易框架只需要依赖 jdk1.7+
4.4 项目结构

项目结构

4.5 项目引导
xml 配置改成了注解 SqlLogicAnno 数据库的 jdbc 操作这里使用一个模拟数据库 SimulateDatabase 来代替,方便演示。 最核心的方法在 MapperMethod 里面的 execute 方法 例子只演示了 insert 和 selectOne 两种操作,其他的可以自行拓展 execute 方法。。。
xml 配置改成了注解 SqlLogicAnno 数据库的 jdbc 操作这里使用一个模拟数据库 SimulateDatabase 来代替,方便演示。 最核心的方法在 MapperMethod 里面的 execute 方法 例子只演示了 insert 和 selectOne 两种操作,其他的可以自行拓展 execute 方法。。。
4.6 测试入口
cn.gameboys.simplebatis.MainTest.main();
cn.gameboys.simplebatis.MainTest.main();
5.其他知识
Mybatis 中 Sql 执行过程分层示意图

Sql执行过程分层示意图

正文到此结束