![](https://img-blog.csdnimg.cn/20200422225449983.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MyBatis
文章平均质量分 92
MyBatis源码分析及学习使用整理
chanalbert
漫步人生路
展开
-
MyBatis源码分析篇----二级缓存cache使用篇
源起官网介绍MyBatis 中的缓存是两层结构的,分为一级缓存、二级缓存,但在本质上是相同的,它们使用的都是 Cache 接口的实现 ;Mybatis默认是开启一级缓存的,一级缓存是基于sqlSession的缓存;MyBatis二级缓存是默认关闭的,二级缓存是基于同一个命名空间(namespace) 所有的操作语句的缓存; 要启用全局的二级缓存,只需要在你的 SQL 映射文件中添加一行:<cache/><cache/>可产生的效果如下:映射语句文件中的所有 se原创 2020-05-24 23:18:52 · 440 阅读 · 0 评论 -
MyBatis源码分享篇---Plugin插件原理
前言 最近在研读MyBatis的源码,刚好看到了插件扩展这一块,所以就此分享一下阅读体会以及插件的原理;概述可拦截接口MyBatis允许在映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包括:Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)ParameterHandler (getParameterObject原创 2020-05-17 17:00:46 · 369 阅读 · 0 评论 -
MyBatis与SpringBoot的集成篇(二)---剖析starter
源起上篇我们讲到了MyBatis与SpringBoot的集成篇(一)—demo案例,在案例最后我们留下了一个疑问:mybatis-spring-boot-starter是何方神圣,功能是什么?为什么我们依赖了这个starter之后,开发变得简化了许多?初识mybatis-spring-boot-starter该章节内容总结自官网官网传送门The MyBatis-Spring-...原创 2020-05-05 13:06:05 · 340 阅读 · 0 评论 -
MyBatis与SpringBoot的集成篇(一)---demo案例
该系列博文是站在MyBatis的立场上谈论与SpringBoot集成,通过集成案例我们分析其执行流程及原理,最后我们升华为解读源码。新建Maven工程新建SpringBoot项目可以从国内大厂阿里巴巴的镜像地址下载构建,好处是,可以自动集成Spring Cloud Alibaba的生态,也可以从Spring官方构建网站进行构建项目;这里我们示范的是从start.aliyun.com构建;在...原创 2020-05-04 10:09:55 · 366 阅读 · 0 评论 -
MyBatis源码分析篇----org.apache.ibatis.session.SqlSession#getMapper的源码分析
源起上节我们了解了诸如:session.selectOne、session.selectList等方法的源码实现;比如:我们可以查看mybatis-3.5.4源码测试包中org.apache.ibatis.session.SqlSessionTest#shouldSelectOneAuthor,这个方法:上图中,框选出的statement是以硬编码的方式存在在代码中的,对于后台人员来讲,...原创 2020-04-26 21:30:44 · 1526 阅读 · 0 评论 -
MyBatis源码分析篇---session.selectOne(statement,param)的源码实现
源起我们已经分析过了会话工厂类实例SqlSessionFactory ,以及初始化配置文件加载的源码;没看过的童鞋,可以点下面传送门查看:SqlSessionFactory会话工厂初始化文件解析这一篇我们来分析一下SQL执行流程。1、创建会话&操作数据库通过sqlMapper.openSession()获取一个可操作数据的“工具”SqlSession,其中sqlMapper...原创 2020-04-24 21:15:55 · 3541 阅读 · 0 评论 -
MyBatis源码分析篇---会话工厂SqlSessionFactory
1、源起MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,简化我们的开发;所有的开源项目都会有自己的顶级域名,我们这里访问mybatis的中文官网地址;中文官网地址2、主要工作流程初始化解析配置文件创建会话工厂类SqlSessionFactory创建会话SqlSession使用会话操作数据库3、 解析配置文件,参考下篇博文初始化解析配置文...原创 2020-04-21 21:18:32 · 2182 阅读 · 0 评论 -
MyBatis源码分析篇----初始化之XMLConfigBuilder#parse
源起 在构建会话工厂类的时候,会解析全局配置文件,然后将相关信息存储值Configuration中;解析配置文件入口:org.apache.ibatis.builder.xml.XMLConfigBuilder#parse源码分析1. XMLConfigBuilder#parseConfiguration首先parse()方法会调用parseConfiguration(XNode ...原创 2020-04-20 23:58:30 · 928 阅读 · 0 评论