1、延迟加载
在mybatis中,resultMap标签 的association标签和collection标签具有延迟加载的功能
配置文件中开启延迟加载
<settings>
<!-- 开启延迟加载 ,默认值为true-->
<setting name="lazyLoadingEnabled" value="true"/>
<!-- 设置积极的懒加载,默认是true -->
<setting name="aggressiveLazyLoading" value="false"/>
</settings>
2、开启二级缓存
<!-- 开启二级缓存,默认使用了PerpetualCache -->
<cache />
Mybatis二级缓存作用域是sessionfactory,该缓存是以namespace为单位的(也就是一个Mapper.xml文件),不同namespace下的操作互不影响。所有对数据表的改变操作都会刷新缓存。
需要注意同一个数据表的操作限定在同一个namespace,否则使用缓存的结果可能会不正确,读到脏数据。
通常禁用二级缓存,使用redis代替。