mybatis 缓存与懒加载

一,缓存

对于mybatis的缓存,需要先开启mybatis缓存的总开关,在configuration.xml中的<settings>里面设置cacheEnabled 为 true (默认为true)

<!-- 默认是在src目录下 -->

<settings>

<setting name="cacheEnabled" value="true" />

<!-- lazyLoadingEnabled:true使用延迟加载,false禁用延迟加载。默认为true; aggressiveLazyLoading:true启用时,当延迟加载开启时访问对象中一个懒对象属性时, 

将完全加载这个对象的所有懒对象属性。 false,当延迟加载时,按需加载对象属性(即访问对象中一个懒对象属性,不会加载对象中其他的懒对象属性)。 

默认为true -->

<setting name="lazyLoadingEnabled" value="true" />

<setting name="aggressiveLazyLoading" value="false" />

</settings>

 

 

这样,mybatis会对每个mapper.xml中的查询进行缓存,对于增删改后会刷新缓存,但是实际开发中,我们并不需要对于每个查询或者增删改进行缓存,那么可以在

<select >的标签中的useCache="true"来设置需不需要进行缓存

<insert> , <update>,<delete>中的 flushCache="true" 来设置需不需要刷新缓存

 

你可能感兴趣的:(mybatis 缓存与懒加载)