您的位置:首页 > 其它

MyBatis系列-整体大纲(1)

2019-09-16 18:51 162 查看

写在开头

Mybatis作为Java开发人员必备的技能,除了掌握好基本的用法外,还可以通过学习源码来了解作者的设计思路与方法,灵活应用内置的各种工具。Mybatis作为常用框架,相比Spring,代码结构更加简单,代码量相对较少。因此如果第一次系统的研究一个框架的源码,从Mybatis开始无疑是一个好的选择。

整体:

所在包 说明 地址
org.apache.ibatis.session 数据库连接、配置、操作接口的定义
org.apache.ibatis.executor 数据库操作的具体实现
org.apache.ibatis.cache 缓存实现,一二级缓存实现 https://www.geek-share.com/detail/2779102940.html
org.apache.ibatis.logging 日志实现,SQL、参数、返回值打印 https://www.geek-share.com/detail/2745817580.html
org.apache.ibatis.plugin 插件 https://www.geek-share.com/detail/2778997280.html

实践

需要临时打印生成环境一个接口的SQL?

通过一个REST API来开启、关闭SQL的打印。

系统开发完成,需要将物理删除修改为逻辑删除?

通过Plugin将delete语句改为update语句

Mapper接口中方法能否重载?

Configuration中的Map实现

工具

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的作者
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息