javamagicsun 2019-06-27
因为热爱,所以拼搏。 --RuiDer
全局配置: - lazyLoadingEnabled true/false - aggressiveLazyLoading true/false lazyLoadingEnabled:延迟加载的全局开关,当开启时,所有关联都会延迟加载。在特定的关联中, 使用fetchType属性覆盖该内容的功能。fetchType将在后面介绍。 aggressiveLazyLoading:是层级延迟加载开关,什么意思呢?就是处于同一个层级的关联表会同 时延迟加载,或者同时被加载。 配置: 在Mybatis的全局配置中的setting标签中加入设置 <setting> <setting name="lazyLoadingEnabled" value="true"/> <setting name="aggressiveLazyLoading" value="true"/> </setting>
上面的配置属于全局配置,会出现一个问题,同一个层级的级联表也存在需求性的差异,同一级的某个数据库表的数据或许不是我们经常使用的,那么上述的配置也会影响系统的性能。
- eager:获得当前POJO后立即加载对应的数据。 - lazy:获得当前POJO后延迟加载对应的数据。 配置: <collection properties=".." column=".." fetchType="eager" select="映射接口" />