懒加载是一种优化数据库访问的策略,它允许只在需要的时候加载数据,而不是在一开始就加载所有数据。在 MyBatis Plus 中,懒加载是一项强大的功能,能够有效减少不必要的数据库查询,提升系统性能。
一、懒加载原理
懒加载的基本原理是推迟对象的加载时间,直到对象确实被访问时才触发加载。在 MyBatis Plus 中,懒加载通常与关联关系映射(例如一对一、一对多)有关。以下是懒加载的基本原理:
-
当查询主实体时,关联的子实体并不会立即加载,而是生成一个代理对象。
-
当访问代理对象的属性或方法时,触发懒加载机制,实际的子实体才会被加载并填充到代理对象中。
二、懒加载配置
在 MyBatis Plus 中,可以通过以下方式配置懒加载
1.注解方式
使用 @TableField
注解的 lazy
属性可以配置懒加载。例如:
@TableField(select = "id, name", lazy = true)
private List<ChildEntity> children;
通过设置lazy=true启用懒加载
2.XML配置方式
在 MyBatis XML 配置文件中,可以通过配置LazyLoad属性启用懒加载,例如:
<resultMap id="parentResultMap" type="ParentEntity">
<id column="id" property="id"/