延迟加载()

什么是延迟加载(懒加载)

resultMap中的association和collection标签具有延迟加载的功能。

延迟加载的意思是说,在关联查询时,利用延迟加载,先加载主信息。需要关联信息时再去按需加载关联信息。这样会大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。

延迟加载又叫懒加载,也叫按需加载。也就是说先加载主信息,在需要的时候,再去加载从信息。

在mybatis中,resultMap标签 的association标签和collection标签具有延迟加载的功能。

验证测试

先测试在没有配置延迟加载时,mybatis操作sql语句次数 OrdersMapper.mxl文件中查询订单与user表一对一的关系
在这里插入图片描述

在这里插入图片描述

核心

在这里插入图片描述
UserMapper.xml中
在这里插入图片描述
测试类中
在这里插入图片描述
在这里插入图片描述

使用懒加载

SqlMapConfig.xml配置文件中
在这里插入图片描述
在这里插入图片描述
OrdersMapper.xml文件中
在这里插入图片描述
在UserMapper.xml中
在这里插入图片描述
测试类中
在这里插入图片描述
原因是,代码中没有输出list中的相关信息,所以就没有继续执行sql语句

也就是你只是需要得到OrdersPojo本身对象及其属性信息,并没有想得到user属性

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值