为何禁用MyBatis缓存

为何禁用MyBatis缓存privatevoidputAncestor(CacheKeyrowKey,ObjectresultObject,StringresultMapId,StringcolumnPrefix){if(!ancestorColumnPrefix.containsKey(resultMapId)){ancestorColumnPrefix.put(resul

大家好,又见面了,我是你们的朋友全栈君。

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就是为了方便结果集到对象的映射功能。

禁用缓存配置:

<configuration>
	<settings>
		<setting name="cacheEnabled" value="false"/>
		<setting name="localCacheScope" value="STATEMENT"/>
		<setting name="jdbcTypeForNull" value="NULL"/>
	</settings>

	<mappers>
		<mapper resource=""/>
	</mappers>

</configuration>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/145148.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • MyBatis架构与源码分析<资料收集>

    MyBatis架构与源码分析<资料收集>

  • 安卓10修改系统ntp服务器,安卓修改ntp服务器地址

    安卓10修改系统ntp服务器,安卓修改ntp服务器地址安卓修改ntp服务器地址内容精选换一换访问IIS搭建的网站不通,报错404。IIS上绑定的域名只填写了主机名,没有指定IP地址。本节操作指导用户修改IIS上绑定的域名,以WindowsServer2008R2操作系统云服务器为例。登录服务器,选择“开始>管理工具>信息服务(IIS)管理器。”在IIS管理器界面,选择自己需要编辑的网站。选择待修改的网站,单击右键选择华为云帮…

  • SpringBoot详细研究-03系统集成

    SpringBoot详细研究-03系统集成

  • google earth使用方法_国内使用google earth

    google earth使用方法_国内使用google earth文件 导入是最重要的功能,可以导入路径、图像、模型。 编辑 复制,如果选中路径对象将会复制为KML的XML语言文本。 复制为航迹,可以复制路径,但不清楚用途。 复制图像就是将当前窗口截屏。 复制视图位置会将当前的经纬度以度,分,秒的格式复制到剪贴板。 重命名是为除我的地点、临时位置不可用外,其余的都可以用。 快照视图是所有对象可用的,包括文件夹、地标、图像、路径、游览,只有在左侧窗格选中对象,这个功能才可以用。 按名称排

  • linux futex浅析[通俗易懂]

    linux futex浅析[通俗易懂]Futex,FastUserspacemuTEXes,作为linux下的一种快速同步(互斥)机制,已经存在了很长一段时间了(sincelinux2.5.7)。它有什么优势?又提供了怎样一些功能,本文就简单探讨一下。futex诞生之前在futex诞生之前,linux下的同步机制可以归为两类:用户态的同步机制和内核同步机制。用户态的同步机制基本上就是利用原子指令实现的spinlock。最简单的实现就是使用一个整型数,0表示未上锁,1表示已上锁。trylock操作就利用原子指令尝试将0改为1

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号