此博客是本人从学生时代开始做笔记所用, 部分是工作所遇问题,做填坑笔记,部分闲来查阅资料,加上自己的理解所总结的学习笔记, 常忙得不可开交,若漏了资料来源,望通知~ 前路漫漫,写点东西告诉自己正在一点点进步,而不要迷失于繁忙。

mybatis缓存

mybatis缓存分两种,一级缓存与二级缓存

一级缓存

作用域:session

说明:在同一个session中,如果执行相同的sql语句(语句及参数),就不执行sql,而是从缓存中直接返回,否则,从数据库中查询

默认开启且无法关闭

如何清除缓存?

1. sqlSession.clearCache() 

2. 执行update、insert、delete的时候,会清空缓存

 

二级缓存

二级缓存就是global caching,它超出session范围之外,可以被所有sqlSession共享,它的实现机制和mysql的缓存一样,开启它只需要在mybatis的配置文件开启settings里的

作用域:mapper或者namespace(因为不同mapper的namespace不同)

说明:同一个mapper(同一个namespace)中查询sql可以从缓存中命中

二级缓存不推荐使用,无需太多关注

 

posted @ 2018-12-25 16:52  炎泽  阅读(176)  评论(0编辑  收藏  举报