MyBatis框架学习(七)-MyBatis的延迟加载



前言:首先我们复习MyBatis的三中查询.
1.直接查询,返回实体对象
2.ResultMap里association查询
3.ResultMap里Collection查询

一、延迟加载定义

1.我们为什么要设置延迟加载

在我们实际开发中,如果单表查询能满足查询业务需求,尽量用单表查询,这样可以大大的提高数据库的性能,因为单表查询要比关联多表查询速度快.
当业务需求需求查询需要用到多个表时,我们该怎么半?
MyBatis引入延迟加载的概念

2.什么是延迟加载?

为满足业务需求时进行多表查询时,先可以进行多表查询,在业务需要关联表信息时我们,在进行关联表的单表查询.

二、延迟加载测试

1.首先我们要实现部门表和员工表的单表查询

实体类
employee
MyBatis框架学习(七)-MyBatis的延迟加载
department
MyBatis框架学习(七)-MyBatis的延迟加载
创建两个表的接口
MyBatis框架学习(七)-MyBatis的延迟加载
MyBatis框架学习(七)-MyBatis的延迟加载
创建两个表的映射文件
MyBatis框架学习(七)-MyBatis的延迟加载
MyBatis框架学习(七)-MyBatis的延迟加载
注意在配置文件,添加懒加载配置.(setting)
MyBatis框架学习(七)-MyBatis的延迟加载
测试文件
MyBatis框架学习(七)-MyBatis的延迟加载

结果:

MyBatis框架学习(七)-MyBatis的延迟加载
总结:MyBatis提供的association和collection具有延迟加载的功能,通常我们在用延迟加载时,先去查询简单的sql(单表,也可以关联查询)再去加载相关联的其他信息.