延迟加载
在SqlMapConfig.xml中添加配置
<settings>
<!-- 开启mybatis支持延迟加载-->
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="aggressiveLazyLoading" value="false"/>
</settings>
如图可见只做了一对多的一表查询操作
后期输出需要时才将后表按需查询
去除后的对比
缓存
Mybatis的一级缓存: 一级缓存: 它指的是Mybatis中SQLSession对象的缓存 当我们执行查询之后,查询的结果会同时存入到SqlSession为我们提供一块区域中、 该区域的结构是一个Map。当我们再次查询同样的数据,Mybatis会先去sqlsession中查询是否有,有点花直接拿出来用 当SQLSession对象消失时,mybatis的一级缓存也就消失了 二级缓存: 它值的是Mybatis中SqlSessionFactory对象的缓存。由同一个SqlSessionFactory对象穿件的SqlSession贡献其缓存。 在Mybatis中当session不关闭时,可以反复调用
而当