mybatisy一级缓存和二级缓存:
一级缓存:
- 它指的是mybatis中的SqlSession缓存
- 当我们执行查询之后,查询的结果会同时存到SqlSession准备的一块区域中
- 该区域的结构就是一个map,再次查询的时候,会先去SqlSession找,有就直接用。也就是多次一样的查询语句只会第一次查数据库。
- SqlSession对象消失,一级缓存就没了,会存到二级缓存。
- 两次相同查找之间进行增删改,一级缓存就清空,在次查询就会查数据库
二级缓存:
- 他指的是SqlSessionFactory对象的缓存,同一个SqlSessionFactory创建的SqlSession共享内存
- 二级缓存使用:
- 1.让mybatis支持二级缓存(SqlConfig。xml配置)
- 2.当前的配置文件支持二级索引(UserMapper。xml配置)
- 3.当前操作支持二级索引(select标签配置)