美文网首页开发经验随笔程序员码农的世界
MyBatis源码分析(xml解析及sqlsession获取)

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

作者: 山东大葱哥 | 来源:发表于2019-06-23 13:29 被阅读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);
        }
    
    你负责貌美如花

    相关文章

      网友评论

        本文标题:MyBatis源码分析(xml解析及sqlsession获取)

        本文链接:https://www.haomeiwen.com/subject/lrhyqctx.html