MyBatis

MyBatis机制介绍与原理

插件简介 什么是插件 插件是一种软件组件,可以在另一个软件程序中添加功能或特性。插件通常被设计成可以==随时添加或删除==的,而不影响==主程序==的功能。插件可以==扩展==软件程序的功能,这让用户可以根据自己的需求定制软件,提高工作效率。常见的插件包括浏览器插件、音频和视频编辑软件的特效插件、图...
阅读全文

MyBatis-RedisCache源码分析

回顾 在前面,我们通过 redis​ 集成了 MyBatis​ 的二级缓存,440.MyBatis的二级缓存整合redis ,接下来,我们来分析一下 RedisCache​ 的源码。 源码分析 RedisCache 主要是通过实现 Cache 接口来做的。数据存储和获取主要是通过操作 jedis 来...
阅读全文
MyBatis

MyBatis的二级缓存整合redis

MyBatis 自带的二级缓存存在的问题 在前面我们使用 @CacheNamespace​ 实现了 430.MyBatis的二级缓存 ,这个底层使用 HashMap​ 来实现。在 单机环境 下没有问题,但是在 分布式环境 下就不行了。 ​​ MyBatis 二级缓存在分布式环境下的问题解决 为了解决...
阅读全文
后端开发

MyBatis的二级缓存

二级缓存的原理 二级缓存的原理和一级缓存一样,第一次查询会将数据放到缓存中,然后第二次查询直接去缓存读取。 但是一级缓存是基于 SqlSession 的,二级缓存是基于 mapper 的 namespace 的。 也就是说,多个 SqlSession 可以共享同一个二级缓存区域。如果两个 mappe...
阅读全文
后端开发

MyBatis的一级缓存

在 MyBatis 中,一级缓存是默认开启的。 通过场景来理解: 场景一 1、在一个 SqlSession 中,对 User 表进行两次根据 ID 的查询,查看发出 sql 语句的情况。 /** * 根据ID查询用户 * * @param id * @return */ @Select("selec...
阅读全文
后端开发

MyBatis缓存的概念

缓存回顾 缓存就是内存中的数据,常常来自对数据库查询结果的保存。 使用缓存可以避免频繁与数据库交互,进而提高响应速度。 MyBatis 对缓存的支持 MyBatis 也提供了对缓存的支持,分为 一级缓存 和 二级缓存。可以用下面的图来理解: ​ 一级缓存是 SqlSession 级别的缓存。在操作数...
阅读全文
MyBatis

MyBatis的注解实现复杂映射开发

xml 配置方式实现复杂映射回顾 ​ 实现复杂映射我们之前可以在映射文件中通过配置来实现,使用注解开发后,我们可以通过 @Results 注解,@Result 注解,@One 注解和 @Many 注解组合完成复杂关系的配置。 注解 说明 @Results 代替的是标签 ,该注解中可以使用单个的 @R...
阅读全文