MyBatis 延迟加载(懒加载)笔记

AI-摘要
LNotes-AI GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
MyBatis 延迟加载(懒加载)笔记
Liuxz延迟加载(懒加载)是 MyBatis 分步查询的重要特性,指关联数据仅在被访问时才会触发查询,而非在主查询时一次性加载,可大幅优化性能。
一、延迟加载的开启配置
需在 MyBatis 全局配置中开启以下两项:
mybatis.configuration.lazy-loading-enabled=true:全局开启延迟加载。mybatis.configuration.aggressive-lazy-loading=false:关闭 “激进式懒加载”(确保仅在访问关联属性时才触发分步查询,而非加载主对象时一次性加载所有关联)。
二、延迟加载与分步查询的关系
延迟加载是分步查询的性能增强特性:
- 分步查询负责将关联查询拆分为多次单表查询;
- 延迟加载负责控制这些分步查询的执行时机(仅当关联属性被访问时才执行)。
三、作用与优势
- 性能优化:避免加载未使用的关联数据,减少数据库查询次数和数据传输量。
- 按需加载:仅在业务需要时加载关联数据,贴合实际使用场景。
四、注意事项
- 延迟加载仅在分步查询场景下生效,若关联查询是通过
JOIN实现的,无法触发延迟加载。 - 若需临时禁用某条 SQL 的延迟加载,可在
<select>标签中通过fetchType="eager"强制立即加载。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果



