开发者社区 问答 正文

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

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

展开
收起
杜少平123-24791 2021-10-14 19:12:17 848 分享 版权
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
    赞同 展开评论