开发经验随笔程序员码农的世界

MyBatis源码分析(xml解析及sqlsession获取)

2019-06-23  本文已影响12人  山东大葱哥

以下内容的公开课视频已经录制,需要的同学可留言

XML配置文件解析流程分析

断点调试源代码,跟踪sqlSessionFactory的创建过程以及配置文件的解析流程。

XML配置文件解析流程.png

SqlSessionFactoryBuilder建造者模式,用来构建SqlSessionFactory工厂。XMLConfigBuilderXMLMapperBuilder类似。

SqlSessionFactory是一个抽象工厂,DefaultSqlSessionFactory抽象工厂的默认实现,这个工厂产生SqlSession

SqlSession获取流程分析

SqlSession获取流程.png

DefaultSqlSession 中使用策略模式,根据场景选择不同的Executor也就是策略,如BatchExecutorReuseExecutorSimpleExecutor等;

CachingExecutor中使用了代理模式,真正的执行器还是上述三种执行器中一种,CachingExecutor做了一些关于缓存的处理。如下:

    public int update(MappedStatement ms, Object parameterObject) throws SQLException {
        //刷新缓存完再update
        flushCacheIfRequired(ms);
        return delegate.update(ms, parameterObject);
    }
你负责貌美如花
上一篇下一篇

猜你喜欢

热点阅读