![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mybatis
文章平均质量分 90
bug砖
一个喜欢Java开发的男生,喜欢技术阅读源码。
展开
-
mybatis一级缓存和二级缓存原理
前言:首先来说下缓存的出现相信大家也都知道,为了提高性能减少对数据库的压力,从而提高响应速度。缓存的数据大多都是存于内存当中,所以查询的响应速度非常快的,这就是缓存的存在的一个作用。其中mybatis也为我们提供了相对应的缓存实现存在。一级缓存的会话为SESSION和STATEMENT两种,默认是SESSION。缓存范围为namespace级别,二级缓存是mybatis默认会给我们开启的,是基于我们的会话来实现的,查询必须是在同一个会话下才会共享缓存区域。其实在我的理解为一级缓存也可以被认为是本地原创 2021-08-31 14:12:03 · 874 阅读 · 2 评论 -
mybatis延迟加载原理解析
延迟加载前言:在很多真实的实战的业务场景中,由于业务的复杂度,都会让我们进行过多的进行一些连接查询,在数据量少的时候,我们或许感受不到查询给我们带来的效率影响,在数据量和业务复杂的时候我们进行过多的连接查询会大大减低我们的一个查询效率,并查询出一些多余字段。为了解决这个问题的出现,延迟加载能够解决当前这个问题,在不需要一些数据的时候我们不进行获取,在不改变逻辑的前提下获取想要的数据。延迟加载机制能很好的避免一些无谓的性能开销而提出来的,所谓的延迟加载就是当在真正需要的时候,才真正执行数据加载。m原创 2021-08-29 22:04:46 · 1206 阅读 · 0 评论 -
mybatis的执行原理
构建sessionFactory以下解析的是在获取session的一个简单过程,这里我们不做详细的讲解,这里关键讲解的是利用mybatis进行一个代理查询的一个流程解析和代理的过程,方便大家更好的理解和高效的使用该框架。如过有说的不对的地方希望给予指点,谢谢各位大佬。这里是我写的一个入口程序,由该案例来深入的解析执行流程。 public static SqlSession getSqlSession() throws IOException { //获得核心文件配置原创 2021-07-10 17:49:08 · 219 阅读 · 1 评论 -
mybatis拦截器执行过程及原理
本章是在阅读源码一步步的执行进行的一个原理讲解,比较任意通俗易懂,方便更加高效的理解mybatis插件的一个原理,帮助大家写出在不同的场景写出响应的插件。以下是我在阅读源码过程中的各个步骤间做的所做的事情,帮助大家更好的理解mybatis的拦截器原理。有什么不对的地方希望大家多多理解。1.在解析的时候扫描带有plugins标签的内容,里面配置了我们需要的拦截器,这里可以配置多个拦截器,只需要我们实现Interceptor接口。进行解析标签初始化我们实现的拦截器。初始化过后的拦截器加入到责任链原创 2021-06-27 14:50:20 · 1127 阅读 · 8 评论