我在一个Jax(泽西岛) restful web应用程序中使用mybatis。所以自动地,我没有会话或状态管理。
问题是,我如何使用马提斯的缓存特性?
发布于 2011-09-27 17:41:38
MyBatis中的缓存非常直接。根据文档(用户手册http://mybatis.googlecode.com/svn/trunk/doc/en/MyBatis-3-User-Guide.pdf第42页)
默认情况下,除了本地会话缓存之外,没有启用缓存,这提高了性能,并且需要解决循环依赖关系。要启用第二级缓存,只需在SQL映射文件中添加一行: MyBatis 3-用户指南,2011年6月6日。
<cache/>字面上就是这样。
我在做这件事时遇到的常见问题是:
在映射器上添加缓存元素;如果您有依赖实体,请确保在需要时显式地刷新缓存。即使已经为您在insert、update、delete上为您设置了缓存元素的映射中的元素进行了刷新,但有时由于在不同的xml映射中定义了更新/删除/etc,所以您必须刷新缓存。
基本上,当您考虑缓存时,您应该问自己:“当这个实体被更改时,我是否希望它在不同的映射中将缓存刷新到一个实体?”如果答案是肯定的,则使用cache-ref元素,而不是仅使用缓存。
从医生第45页开始:
<cache-ref namespace=”com.someone.application.data.SomeMapper”/>https://stackoverflow.com/questions/7571144
复制相似问题