1. 本地缓存
本地缓存是MyBatis的默认缓存机制,它是基于线程的,每个线程拥有自己的本地缓存。本地缓存默认是开启的,但你可以通过在<settings>元素中配置localCacheScope来关闭它:
<settings>
<setting name="localCacheScope" value="STATEMENT"/>
</settings>
上述配置中,localCacheScope 的值有两个选项:"SESSION" 和 "STATEMENT"。"SESSION" 表示在整个会话期间启用本地缓存,而 "STATEMENT" 表示仅在当前语句执行期间启用本地缓存。
2. 二级缓存
二级缓存是一个跨SqlSession的缓存,可以在多个会话中共享。要启用二级缓存,需要在XML映射文件的<mapper>元素中添加<cache>元素:
<mapper namespace="com.example.mapper.UserMapper">
<cache/>
<!-- 这里是映射语句的配置 -->
</mapper>
默认情况下,二级缓存是开启的。你可以通过在全局配置文件(通常是mybatis-config.xml)中配置关闭:
<configuration>
<settings>
<setting name="cacheEnabled" value="false"/>
</settings>
<!-- 这里是映射器的配置 -->
</configuration>
可以在映射文件中使用<cache-ref>元素引用其他命名空间中的缓存:
<cache-ref namespace="com.example.mapper.OtherMapper"/>
以上是简单的缓存配置,MyBatis还提供了更多高级的缓存配置选项,如缓存刷新、缓存装饰器等。具体配置取决于项目的需求和性能优化要求。
转载请注明出处:http://www.zyzy.cn/article/detail/7016/MyBatis