MyBatis的懒加载策略主要有两种:
1. 对象懒加载:
当查询对象时,不立即加载其关联对象,只有在使用关联对象时才查询。
优点:
- 初次查询性能高
- 可以延迟加载非必需的关联对象
缺点:
- 主对象每次查询都需要执行
2. 属性懒加载:
当查询对象时,只加载主对象,将关联属性声明为懒加载。
只有在使用关联属性时才加载关联对象。
优点:
- 主对象可以缓存,提高效率
- 有效控制加载范围
缺点:
- 配置和维护稍微复杂一些
总结:
- 对象懒加载:初次查询快,主对象每次查询
- 属性懒加载:主对象可缓存,扬长避短
根据实际情况,选择以下策略:
- 对象关系复杂,属性多:推荐对象懒加载
- 关联属性 Occasionally used:属性懒加载
- 需要缓存主对象:属性懒加载
总的来说,MyBatis的两种懒加载策略各有优缺点,在不同的场景下有其使用的地方。选择合适的懒加载策略可以很好地平衡效率和性能。