标签:缓存 配置文件 -- 查询 SqlSession mybatis
mybatis一级缓存
定义:
同一个SqlSession对象查询相同的数据时,不操作数据库,直接从mybatis缓存读取
开启:默认开启
注意:
SqlSession获取流程:inputfile(核心配置文件)--> SqlSessionFactory --> SqlSession --> 加载mapper
所以同一个SqlSession可以加载不同的Mapper接口,前提是核心配置文件要引入相应的映射文件
什么时候会使用一级缓存:
同一个SqlSession查询了相同的数据
一级缓存失效:
1.不同的SqlSession对映不同的一级缓存
2.查询条件不同
3.两次查询之间有任意dml操作
4.两次查询之间手动清空了缓存
mybatis二级缓存
定义:同一个SqlSessionFactory生成的SqlSession查询相同的数据 开启:
1.在核心配置文件中,设置全局配置属性cacheEnable="true",默认为true
2.在映射文件中设置标签<cache/>
3.二级缓存必须在SqlSession关闭或者提交之后有效
4.查询结果所转换的实体类必须实现序列化接口
二级缓存失效:
两次查询之间的任意dml操作
标签:缓存,配置文件,--,查询,SqlSession,mybatis 来源: https://www.cnblogs.com/new228666/p/16425455.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。