mybatis基础学习5---懒加载和缓存

1:懒加载

1)在主配置文件设置(要放在配置文件最前面)

1 <!-- 延迟加载配置,两个都必须同时有 -->
2 <settings>
3 <!-- lazyLoadingEnabled设置为懒加载 -->
4 <setting name="lazyLoadingEnabled" value="true"/>
5 <!-- aggressiveLazyLoading主动加载设置为false -->
6 <setting name="aggressiveLazyLoading" value="false"/>
7 </settings>

2)表配置文件设置sql语句分别写在两个文件(如user表对应UserMapper.xml)

------------------------------------------------------------------缓存----------------------------------------------------------------------------

二:缓存(二级缓存是sqlSessionFactory级别的,可以跨越session)

1)在主配置文件设置

<settings>
        <!-- 开启二级缓存 -->
        <setting name="cacheEnabled" value="true"/>
    </settings>

2)在想要开启缓冲的映射文件中添加<cache/>

 <!-- 该映射文件开启二级缓存 -->
    <cache/>
    <!-- 返回值为实体类对象时用resultMap,返回值为Java中定义的基本类型时用resultType -->
    <!-- useCache可以控制某一条sql语句是否支持二级缓存,默认值是支持二级缓存的 -->
    <select id="selectUser1ById" parameterType="java.lang.Integer" resultMap="UserResultMap" useCache="true">
    </select>

3)映射文件对应的实体类要实现序列化接口

//开启二级缓存,对应的实体类要实现序列化接口,因为查询到的结果保存在硬盘文件中
public class User implements Serializable{

    private static final long serialVersionUID = 1L;
.....
}
原文地址:https://www.cnblogs.com/kaiwen/p/6550162.html