作者:禅与计算机程序设计艺术
1.简介
在分布式系统中,应用服务器将数据库的数据通过网络传输到客户端时,在数据传输过程中会存在网络延迟、客户端处理慢等问题。为了避免这些问题发生,延迟加载(Lazy Loading)是一种常用的优化策略。它允许对象中所需字段的数据先不进行加载,直到需要用到的时候才从数据库中查询加载。MyBatis中的延迟加载实现了该功能。本文主要介绍 MyBatis 框架对延迟加载的支持及其配置方法,并结合具体代码实例演示延迟加载的使用方法。
2.基本概念和术语
2.1 延迟加载(Lazy Loading)
延迟加载(Lazy Loading)又称懒加载,指的是当某个属性被调用时,再进行一次查询操作,这样可以减少资源的消耗,提高效率。相对于立即加载(Eager Loading),它的好处就是可以按需加载,从而提升系统性能。比如,当访问一个对象的某个属性时,如果这个属性还没有被加载到内存中,那么就先加载它;否则直接从内存中取出值即可。
在 MyBatis 中,延迟加载依赖于 MyBatis 的插件机制,以拦截器的方式实现。一般来说,当 MyBatis 查询返回