博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为何禁用MyBatis缓存
阅读量:6342 次
发布时间:2019-06-22

本文共 798 字,大约阅读时间需要 2 分钟。

hot3.png

private void putAncestor(CacheKey rowKey, Object resultObject, String resultMapId, String columnPrefix) {    if (!ancestorColumnPrefix.containsKey(resultMapId)) {      ancestorColumnPrefix.put(resultMapId, columnPrefix);    }    ancestorObjects.put(rowKey, resultObject);  }
if (combinedKey != CacheKey.NULL_CACHE_KEY) nestedResultObjects.put(combinedKey, resultObject);

mybatis 缓存的是对象,是数据库resultSet经过DefaultResultSetHandler 处理后生成的java对象。

 这样 缓存意义不大是在于:

(1)对于电子商务网址具有一定规模的数据量,内置的cache方式就派不上用场了;缓存对象无意义,为何Memcached,redis支持那么多缓存类型,而不支持单一类型。

(2)对查询结果集做缓存并不是MyBatis框架擅长的,它专心做的应该是sql mapper 这个特性。采用此框架的Application去构建缓存更合理,比如采用redis、memcached。

 所以,我们用mybatis就是为了方便结果集到对象的映射功能。

禁用缓存配置:

转载于:https://my.oschina.net/doctor2014/blog/385891

你可能感兴趣的文章
在html 的img属性里只显示图片的部分区域(矩形,给出开始点和结束点),其他部份不显示,也不要拉伸...
查看>>
程序员第二定律:量化管理在程序员身上永无可能
查看>>
ubuntu一些脚本的执行顺序
查看>>
类继承的结构
查看>>
python 自动生成C++代码 (代码生成器)
查看>>
svn经常使用命令具体解释(非常全,非常有用)
查看>>
DevExpress licenses.licx 的解决方法 z
查看>>
NOI第一天感想&小结
查看>>
<聪明的投资者(第四版点评)>读书笔记
查看>>
[ES6] 20. Polyfills
查看>>
第15章 I/O(输入/输出)
查看>>
软件介绍(apache lighttpd nginx)
查看>>
30岁的程序猿坐的太久,也要用一下脑子
查看>>
2016华为实习编程题:停车管理系统
查看>>
POJ 1113 Wall 凸包
查看>>
iOS开发UI篇—UITableviewcell的性能问题
查看>>
Intel 被 ARM 逼急了
查看>>
testng + reportng 测试结果邮件发送
查看>>
我为何从开发转测试,并坚持了 16 年?
查看>>
讯飞新品翻译机上BOAO 只见追随搜狗不见创新
查看>>