MyBatis 延迟加载源码深度剖析延迟加载(Lazy Loading)是 MyBatis 中用于优化关联查询的重要特性。当开启延迟加载后,对于association或collection定义的嵌套查询(select属性),MyBatis 不会立即执行子查询,而是返回一个代理对象,仅在调用该对象的相关属性(getter)时才会触发真正的查询。这能有效减少不必要的数据库访问,提升性能。一、延迟加载整体流程延迟加载触发调用代理对象的 getter拦截器 invoke检查 ResultLoaderMap 中未加载的键通过 ResultLoader 加载执行嵌套查询 SQL填充目标属性替换代理对象为真实值结果映射阶段