花了 3 个晚上,把《MyBatis从入门到精通》这本书看了,大概用了 4 个小时左右。
书中提到的主要内容:
- 介绍了 MyBatis 框架的作用
- MyBatis 各功能使用方法的介绍与示例。重点说了 XML 的配置、注解的使用、动态 SQL 的用法、高级查询(1v1、1v多、存储过程)、一二级缓存
- MyBatis Generator 生成代码与 mapper xml
- 插件开发,这块主要介绍了 4 个开放的拦截器接口。介绍了字段驼峰标识的转换和分页插件的代码实现
- 给出了具体 Demo,介绍 Spring 如何集成 MyBatis
- 给出了具体 Demo,介绍 Spring Boot 如何集成 MyBatis
- 最后还介绍了 Git 和 GitHub,以及下载和简单介绍了 MyBatis 的源码
最大的感触:
- MyBatis 的最佳学习过程是,对着官方文档入门使用,遇到问题就查文档与搜索引擎基本能解决;然后看这本书,会吸收一些边角一点的功能;然后再看《MyBatis技术内幕》这本书,从源码角度拆解。
- 看书可以快速梳理知识结构,查缺补漏。MyBatis 平时开发中很熟悉,但是还是有不少没用到的功能点。比如书中提到的两种 MyBatis 对数据库方言特性的处理、高级查询那块 user.id 这种 columnName 会被解析成 User 对象 id 属性、对存储过程出参入参的处理、对游标参数的处理、对枚举的支持、JDK 8 日期的支持、二级缓存导致的脏数据问题以及解决办法,这些都是我新 get 到的知识点。
- 本书可以看作是对官方文档的一个补充,给出了很多可用来学习的代码示例。
- 书的作者是 MyBatis 分页插件的作者,内容偏具体使用与大致的原理介绍。插件的学习,可以看他开发的 MyBatis-PageHelper 的源码。
- 仅学会了本书的内容,肯定是到不了精通的级别。
- MyBatis 的源码没有 Spring 那么庞大,可以作为框架源码阅读的入门。对其深入研究能学到很多知识,比如设计模式的实际应用、动态代理技术的使用与封装、如何通过插件方式做到对扩展开放等。