Mybatis一级缓存的工作原理及深入解析是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1008个文字,预计阅读时间需要5分钟。
MyBatis提供了一级缓存和二级缓存,以下是一级缓存的具体说明:
一级缓存(一级缓存是SqlSession级别的缓存,默认开启):- 当我们操作数据库时,会创建一个SqlSession对象。- 在SqlSession中,有一个HashMap用于存储缓存数据。- 当我们执行查询操作时,MyBatis会先从HashMap中查找缓存数据,如果找到,则直接返回结果,否则再从数据库中查询并缓存结果。
二级缓存(SqlSession级别的缓存):- 在MyBatis中,二级缓存是针对SqlSession的。- 当我们执行查询操作时,MyBatis会先从一级缓存中查找,如果没有找到,则从二级缓存中查找。- 二级缓存是跨SqlSession的,也就是说,当多个SqlSession操作同一个数据时,它们会共享二级缓存中的数据。
在操作数据库时,需要构造SQLSession对象,并在对象中有一个数据结构(如HashMap)用于存储数据。
本文共计1008个文字,预计阅读时间需要5分钟。
MyBatis提供了一级缓存和二级缓存,以下是一级缓存的具体说明:
一级缓存(一级缓存是SqlSession级别的缓存,默认开启):- 当我们操作数据库时,会创建一个SqlSession对象。- 在SqlSession中,有一个HashMap用于存储缓存数据。- 当我们执行查询操作时,MyBatis会先从HashMap中查找缓存数据,如果找到,则直接返回结果,否则再从数据库中查询并缓存结果。
二级缓存(SqlSession级别的缓存):- 在MyBatis中,二级缓存是针对SqlSession的。- 当我们执行查询操作时,MyBatis会先从一级缓存中查找,如果没有找到,则从二级缓存中查找。- 二级缓存是跨SqlSession的,也就是说,当多个SqlSession操作同一个数据时,它们会共享二级缓存中的数据。
在操作数据库时,需要构造SQLSession对象,并在对象中有一个数据结构(如HashMap)用于存储数据。

