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; ..... }