![](https://img-blog.csdnimg.cn/807c0284389e4c1b96762a413bb58afd.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
mybatis源码解析
文章平均质量分 88
记录自己学习mybatis源码的一些心得
E等于MC平方
这个作者很懒,什么都没留下…
展开
-
从源码层面分析Mybatis中Dao接口和XML文件的SQL是如何关联的
为了能清楚的说明问题,源码我尽量加上详细的注释。有些大段的源码我只是截取了一部分能说明问题就好。 xml文件解析 我们知道SqlSessionFactory是mybatis非常重要的一个类,它是单个数据库映射关系经过编译后的内存镜像.SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象类的build方法创建,而xml文件的解析就是在这个方法里调用的。 public SqlSessionFactory build(Reader reader, String原创 2021-11-06 19:59:01 · 869 阅读 · 1 评论 -
mybatis插件机制源码解析
引言 本篇源码解析基于mybatis 3.5.8版本。 首先需要说明的是,本篇文章不是mybatis插件开发的教程,而是从源码层面分析mybatis是如何支持用户自定义插件开发的。 mybatis的插件机制,让其扩展能力大大增加。比如我们项目中经常用到的PageHelper,这就是一款基于mybatis插件能力开发的产品,它的功能是让基于mybatis的数据库分页查询更容易使用。 当然基于插件我们还可以开发其它功能,比如在执行sql前打印日志、做权限控制等。 正文 mybatis插件也叫mybatis拦截器原创 2021-10-03 17:27:18 · 248 阅读 · 0 评论 -
mybatis的缓存机制源码分析之二级缓存解析
引言 本篇源码解析基于mybatis 3.5.8版本。 MyBatis 中的缓存指的是 MyBatis 在执行一次SQL查询时,在满足一定的条件下,会把这个sql和对应的查询结果缓存起来。当再次执行相同SQL语句的时候,就会直接从缓存中进行提取,而不是请求到数据库。当然如果中间有更新操作,缓存会失效。 MyBatis中的缓存分为一级缓存和二级缓存,一级缓存又被称为 SqlSession 级别的缓存,二级缓存又被称为表级缓存。通俗的说,一级缓存是本次会话有效,二级缓存可以跨越多个会话共享缓存。 当开启缓存后,原创 2021-10-01 17:55:48 · 188 阅读 · 0 评论 -
mybatis的缓存机制源码分析之一级缓存解析
文章目录引言正文 引言 本篇源码解析基于mybatis 3.5.8版本。 MyBatis 中的缓存指的是 MyBatis 在执行一次SQL查询时,在满足一定的条件下,会把这个sql和对应的查询结果缓存起来。当再次执行相同SQL语句的时候,就会直接从缓存中进行提取,而不是请求到数据库。当然如果中间有更新操作,缓存会失效。 MyBatis中的缓存分为一级缓存和二级缓存,一级缓存又被称为 SqlSession 级别的缓存,二级缓存又被称为表级缓存。通俗的说,一级缓存是本次会话有效,二级缓存可以跨越多个会话共享缓存原创 2021-09-29 22:50:14 · 259 阅读 · 0 评论