2018.5.20
一级缓存:
是session级别的缓存,一级缓存默认开启,当在同一个session范围内执行查询的时候,如果执行相同的查询,那么第二次查询会从缓存中
获取数据,不会执行第二次查询。
测试1:
【Mybatis学习笔记】09 一级缓存、二级缓存
测试2:
如果两次查询之间有查询操作,sqlsession缓存区会被自动清空,说明下一次查询会重新执行sql语句
【Mybatis学习笔记】09 一级缓存、二级缓存
结果:
【Mybatis学习笔记】09 一级缓存、二级缓存

二级缓存:
默认不开启,如果在不同的session范围内,执行相同的数据查询,那么每次查询将会执行独立的数据库检索过程。

如果中间执行增删改还是会刷新缓存。
测试1:
【Mybatis学习笔记】09 一级缓存、二级缓存
结果:
【Mybatis学习笔记】09 一级缓存、二级缓存
开启二级缓存:
  1. 在mapper文件中设置<catch />
  2. 在实体类中实现序列化接口

测试2:
【Mybatis学习笔记】09 一级缓存、二级缓存【Mybatis学习笔记】09 一级缓存、二级缓存【Mybatis学习笔记】09 一级缓存、二级缓存【Mybatis学习笔记】09 一级缓存、二级缓存




相关文章: