mybatis缓存的使用

很久没写关于技术方面的文章了,今天分享一下mybatis关于缓存方面的技术,个人觉得还是挺好用的,主要是xml配置方面东西,废话不多说,我们之间上正题。


当时想的很简单,以为在查询方法的xml配置文件配置一下userCache="true" 就可以了,那时候别提有多欢喜了,mybatis的缓存这么简单,哇哈哈,可是当调试的时候却让人觉得这难道就是mybatis的缓存吗,配置了userCache=“true” 根本就不起作用嘛,这就有点扯了,难道是mybatis的bug?当然,当时只是怀疑mybatis,觉得既然它已经提到了可以用缓存,就肯定会有解决的办法。

然后公司就请教公司一个高手,果不其然配置文件里面少配置东西了,是自己使用不当,这就不能怪mybatis了。


原来配置文件少配置了一个节点,<cache readOnly="true"></cache>,通过测试,果然mybatis不访问数据了,终于可以使用mybatis的缓存了,它不像hibernate只能缓存对象,mybatis可以缓存任何结果的,当然问题又来了,配置了<cache readOnly="true"></cache> 之后,这个配置文件里面的所有查询方法都被缓存了,朋友们别急,mybatis肯定会有解决的办法可以让某一个查询方法不使用缓存。


只要在方法里面配置了useCache="false"就可以不使用缓存了,可以按照实际情况灵活配置,总结一下,个人觉得mybatis的缓存比hibernate好用,配置简单还能缓存所有类型的结果,当然这只是小弟自己的想法,如果哪位大神有什么自己的高见可以在下面评论,大家共同学习进步。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章