对于一对一和多对一(mybatis映射为一对一)。查询的时候一起查询即可。
但是对于一对多,和多对多。也许那个多对应的数据很多,而我们不需要那个多。那么一起查询会浪费性能资源。
所以,mybatis有懒加载。
mysql默认是立即加载。
懒加载在Collection或者association属性中有一个fetchType属性,eager立即加载。lazy懒加载。
在mybatis的配置文件中:
<settings>
<!--延迟加载总开关-->
<setting name="lazyLoadingEnabled" value="true"/>
<!--侵入式延迟加载开关-->
<!--3.4.1版本之前默认是true,之后默认是false-->
<setting name="aggressiveLazyLoading" value="false"/>
<!--如果不写这个,可能有问题-->
<setting name="lazyLoadTriggerMethods" value=""/>
</settings>
即可。