MyBatis源碼分析(xml解析及sqlsession獲取)

以下內容的公開課視頻已經錄製,需要的同學可留言

XML配置文件解析流程分析

斷點調試源代碼,跟蹤sqlSessionFactory的創建過程以及配置文件的解析流程。

SqlSessionFactoryBuilder建造者模式,用來構建SqlSessionFactory工廠。XMLConfigBuilderXMLMapperBuilder類似。

SqlSessionFactory是一個抽象工廠,DefaultSqlSessionFactory抽象工廠的默認實現,這個工廠產生SqlSession

SqlSession獲取流程分析

DefaultSqlSession 中使用策略模式,根據場景選擇不同的Executor也就是策略,如BatchExecutorReuseExecutorSimpleExecutor等;

CachingExecutor中使用了代理模式,真正的執行器還是上述三種執行器中一種,CachingExecutor做了一些關於緩存的處理。如下:

    public int update(MappedStatement ms, Object parameterObject) throws SQLException {
        //刷新緩存完再update
        flushCacheIfRequired(ms);
        return delegate.update(ms, parameterObject);
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章