Mybatis
夜勿语
热爱技术,分享技术,博客园地址:https://www.cnblogs.com/yewy/
展开
-
Mybatis插件扩展以及与Spring整合原理
文章目录前言正文插件扩展1. Interceptor核心实现原理2. Mybatis的拦截增强Mybatis与Spring整合原理1. SqlSessionFactory的创建2. 扫描Mapper并创建代理对象3. 如何整合Spring事务4. FactoryBean的扩展知识总结 前言 前面几篇文章分析了Mybatis的核心原理,但模块较多,没有一一分析,更多的需要读者自己下来研究。不过Mybatis的插件扩展机制还是非常重要的,像PageHelper就是一个扩展插件,熟悉其扩展原理,才能更好的针对我们原创 2020-07-09 23:08:31 · 933 阅读 · 0 评论 -
深入Mybatis源码——执行流程
前言 上一篇分析Mybatis是如何加载解析XML文件的,本篇紧接上文,分析Mybatis的剩余两个阶段:代理封装和SQL执行。 正文 代理封装 Mybatis有两种方式调用Mapper接口: private static SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader); // 第一种 try (SqlSession session = sqlMapper.openSession(TransactionI原创 2020-07-07 22:44:57 · 1820 阅读 · 2 评论 -
Mybatis源码初探——优雅精良的骨架
前言 Mybatis是一款半自动的ORM框架,是目前国内Java web开发的主流ORM框架,因此作为一名开发者非常有必要掌握其实现原理,才能更好的解决我们开发中遇到的问题;同时,Mybatis的架构和源码也是很优雅的,使用了大量的设计模式实现解耦以及高扩展性,所以对其设计思想,我们也非常有必要好好理解掌握。(PS:本文基于3.5.0版本分析) 精良的Mybatis骨架 宏观设计 Mybatsi的源码相较于Spring源码无论是架构还是实现都简单了很多,它所有的代码都在一个工程里面,在这个工程下分了很多包,原创 2020-07-06 15:23:15 · 806 阅读 · 4 评论 -
深入Mybatis源码——配置解析
文章目录前言正文配置解析1. cacheRefElement/cacheElement2. resultMapElements3. sqlElement4. buildStatementFromContext总结 前言 上一篇分析了Mybatis的基础组件,Mybatis的运行调用就是建立在这些基础组件之上的,那它的执行原理又是怎样的呢?在往下之前不妨先思考下如果是你会怎么实现。 正文 熟悉Mybatis的都知道,在使用Mybatis时需要配置一个mybatis-config.xml文件,另外还需要定义Ma原创 2020-07-06 22:36:20 · 676 阅读 · 1 评论