回顾 在前面,我们通过 redis 集成了 MyBatis 的二级缓存,440.MyBatis的二级缓存整合redis ,接下来,我们来分析一下 RedisCache 的源码。 源码分析 RedisCache 主要是通过实现 Cache 接口来做的。数据存储和获取主要是通过操作 jedis 来...
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 常用注解和增删改查操作,包括 @Insert、@Update、@Delete、@Select 等注解的用法,以及数据库配置、实体类 User 和 UserMapper 的示例代码。
MyBatis的注解实现复杂映射开发
xml 配置方式实现复杂映射回顾 实现复杂映射我们之前可以在映射文件中通过配置来实现,使用注解开发后,我们可以通过 @Results 注解,@Result 注解,@One 注解和 @Many 注解组合完成复杂关系的配置。 注解 说明 @Results 代替的是标签 ,该注解中可以使用单个的 @R...
MyBatis复杂映射开发之多对多查询
本文介绍了多对多关系模型中用户表和角色表的关系,以及如何通过查询语句查询所有用户及其对应的角色。通过修改实体类和接口方法,并配置对应的XML文件,展示了查询所有用户及其角色的示例。
MyBatis复杂映射开发之一对多查询
本文介绍了如何进行一对多查询模型,在用户和订单表关系中,展示了通过 SQL 查询用户及其订单信息,并通过 Java 代码实现了在 MyBatis 中查询所有用户信息以及用户关联的订单信息。
MyBatis复杂映射开发之一对一查询
本文介绍了一对一查询需求下的用户表和订单表关系,展示了如何查询一个订单并同时查询出对应的用户信息。通过创建 User 和 Order 实体,并建立关联,实现了订单和用户信息的查询功能。
MyBatis配置与使用指南:基本流程、常用配置解析及动态SQL实践
本文详细介绍了MyBatis的基本流程,包括配置文件加载、SqlSessionFactory工厂创建等,并解析了常用配置,如日志输出、数据源管理、类型别名等。此外,还讨论了动态SQL的实践,包括条件查询、SQL片段抽取等技巧。