延迟加载

Posted Lightt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了延迟加载相关的知识,希望对你有一定的参考价值。

什么是延迟加载?

resultMap可以实现高级映射 (对查询结果有特殊要求的 association、collection)association、collection可以实现延迟加载功能。

需求:

如果查询用户订单并且关联查询用户信息。如果先查询订单信息就可满足需求,当我们需要用户信息的时候再查询用户信息,把对用户信息的按需去查询就是延迟加载。

延迟加载:先从简单的单表查询 需要是再去关联表关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表要快

 

实践:

使用association实现延迟加载

需要定义mapper的两个statement

1、先查询订单信息

2、通过上边查询到的用户信息的id去关联查询用户信息

使用collection实现延迟加载

 

以上是关于延迟加载的主要内容,如果未能解决你的问题,请参考以下文章

hibernate延迟加载

延迟加载模块中的角度延迟加载模块

延迟加载

MyBatis一对多查询及延迟加载

MyBatis 延迟加载的三种加载方式深入,你get了吗?

mybatis探究之延迟加载和缓存