以下内容的公开课视频已经录制, 需要的同学可留言
xml 配置文件解析流程分析
断点调试源代码, 跟踪 sqlSessionFactory 的创建过程以及配置文件的解析流程.
xml 配置文件解析流程. PNG
SqlSessionFactoryBuilder 建造者模式, 用来构建 SqlSessionFactory 工厂. XMLConfigBuilder,XMLMapperBuilder 类似.
SqlSessionFactory 是一个抽象工厂, DefaultSqlSessionFactory 抽象工厂的默认实现, 这个工厂产生 SqlSession.
SqlSession 获取流程分析
SqlSession 获取流程. PNG
DefaultSqlSession 中使用策略模式, 根据场景选择不同的 Executor 也就是策略, 如 BatchExecutor,ReuseExecutor,SimpleExecutor 等;
CachingExecutor 中使用了代理模式, 真正的执行器还是上述三种执行器中一种, CachingExecutor 做了一些关于缓存的处理. 如下:
- public int update(MappedStatement ms, Object parameterObject) throws SQLException {
- // 刷新缓存完再 update
- flushCacheIfRequired(ms);
- return delegate.update(ms, parameterObject);
- }
你负责貌美如花
来源: http://www.jianshu.com/p/c250d780f36f