写在开头
Mybatis作为Java开发人员必备的技能,除了掌握好基本的用法外,还可以通过学习源码来了解作者的设计思路与方法,灵活应用内置的各种工具。Mybatis作为常用框架,相比Spring,代码结构更加简单,代码量相对较少。因此如果第一次系统的研究一个框架的源码,从Mybatis开始无疑是一个好的选择。
整体:
所在包 | 说明 | 地址 |
---|
org.apache.ibatis.session | 数据库连接、配置、操作接口的定义 | |
org.apache.ibatis.executor | 数据库操作的具体实现 | https://blog.csdn.net/layuan110/article/details/104018771 |
org.apache.ibatis.exceptions | 异常设计 | |
org.apache.ibatis.io | IO设计 | |
org.apache.ibatis.parsing | 字符串解析 | |
org.apache.ibatis.reflection | 反射 | |
org.apache.ibatis.cache | 缓存实现,一二级缓存实现 | https://blog.csdn.net/layuan110/article/details/104018721 |
org.apache.ibatis.logging | 日志实现,SQL、参数、返回值打印 | https://blog.csdn.net/layuan110/article/details/104018755 |
org.apache.ibatis.plugin | 插件 | https://blog.csdn.net/layuan110/article/details/104018693 |
工具
Mybatis-Plus
通用Mapper
对比
— | 通用Mapper | Mybatis-Plus |
---|
git-star | 4.5k | 6.5k |
git-releases | 49 | 44 |
git-lastUpdate | 2019-6 | 2019-9 |
CRUD | 提供、可扩展 | 提供、可扩展 |
条件构造 | 提供Example | 提供Wrapper |
分页 | PageHelper | 支持 |
逻辑删除 | 不支持 | 支持 |
Mybatis Plugin
- Mapper和SQL的导航
- XML自动补全
- 快捷键生成XML
- 自动生成ResultMap
推荐书籍
- 《MyBatis从入门到精通》 MyBatis官方推荐的分页插件PageHelper和通用Mapper的作者