1:懒加载
1)在主配置文件设置(要放在配置文件最前面)
1 <!-- 延迟加载配置,两个都必须同时有 -->
<settings>
3 <!-- lazyLoadingEnabled设置为懒加载 -->
<setting name="lazyLoadingEnabled" value="true"/>
<!-- aggressiveLazyLoading主动加载设置为false -->
<setting name="aggressiveLazyLoading" value="false"/>
</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;
.....
}