开发者社区> 问答> 正文

MyBatis 可不可以支持延迟加载?延迟加载的原理是什么呢?

不知道可不可以支持延迟加载。

展开
收起
杜少平123-24791 2021-10-14 19:12:17 813 0
1 条回答
写回答
取消 提交回答
  • MyBatis 支持延迟加载,设置 lazyLoadingEnabled=true 即可。

    延迟加载的原理的是调用的时候触发加载,而不是在初始化的时候就加载信息。比如调用 a. getB(). getName(),这个时候发现 a. getB() 的值为 null,此时会单独触发事先保存好的关联 B 对象的 SQL,先查询出来 B,然后再调用 a. setB(b),而这时候再调用 a. getB(). getName() 就有值了,这就是延迟加载的基本原理。

    2021-10-14 19:13:10
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第6讲】:Spring Boot 2.0实战MyBatis与优化(Java面试题) 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载