最近工作不太忙,着手研究了下mybatis源码(目前正在学习中。。。)。看了部分,受益匪浅,向大家推荐<<Mybatis技术内幕>>,该书源码是基于mybatis3.4。贴上mybatis的架构图,书籍也是按照这种架构逐步分析的。
从学习的感受来说,各个模块并不难,它源于jdk,但高于jdk。在合适的场景中,这些模块可以通过我们自己的进一步封装,在项目中直接使用。
基础模块:
解析器模块、反射模块、类型转换模块、日志模块、资源加载模块、数据源和事务管理模块、Binding模块、缓存模块
核心模块:
初始化过程、sql解析、SqlSession&Executor、StatementHandler&ParameterHandler、ResultSetHandler、插件