延迟加载 一. 概述 1. mybatis中的延迟加载,也称为懒加载,是指在进行关联查询时,按照设置延迟规则对关联对象的select查询.延迟加载可以有效的减少数据库的压力. 2. 延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓的延迟加载就是当在真正需要的时候,才真正执行数据加载. 3. 简单理解为,只有在使用的时候,才会发出SQL语句进行查询. 二. Mybatis级联查询方式 1. association 一对一 2. colleciton 一对多 3. 多对多 三. 步骤 1. 配置开启延迟加载 2. 查询主干sql,主要是单表的,也可以是关联查询的 3. 按照需要加载关联查询的信息 四. 关联对象加载时机 Mybatis根据对关联对象查询的select语句的执行时机,分为三种类型:直接加载,侵入式加载,深度延迟加载 直接加载:执行完对主加载对象的select语句,马上执行对关联对象的select查询. 侵入式加载: 侵入式延迟加载,执行主对象的属性时,会走关联对象SQL语句.如果不访问主对象的属性,则不会走关联对象,这就是侵入式延迟加载 深度延迟加载:执行对主加载对象的查询时,不会执行对关联对象的查询.访问主加载对象的详情时也不会执行关联对象的select查询.只有当真正访问关联对象的详情时,才会执行对关联对象的select查询.访问主对象的属性,只执行了主对象的sql操作,并没有走关联对象的sql语句 五. 直接加载 六. 侵入式延迟加载 七. 深度延迟加载