学堂 学堂 学堂公众号手机端

MyBatis的延迟加载和立即加载有什么区别

lewis 3年前 (2022-03-26) 阅读数 5 #技术

MyBatis中的延迟加载和立即加载主要是针对关联查询的情况进行设置的。

立即加载是指在执行主查询的同时,立即加载关联对象的数据。这意味着在查询主对象时,关联对象的数据也会被一起查询出来,从而在返回结果中包含完整的对象数据。立即加载可以通过在查询语句中使用嵌套查询或者联合查询来实现。

延迟加载是指在查询主对象时,并不加载关联对象的数据,只有在真正需要访问关联对象数据时才会去发起额外的查询。延迟加载可以通过在查询语句中使用懒加载配置来实现。


区别在于立即加载会一次性加载所有关联对象的数据,可能会导致数据量大和性能问题;而延迟加载则可以根据需要进行加载,减少不必要的数据查询和提高性能。因此,在使用MyBatis进行关联查询时,根据实际情况选择合适的加载方式是很重要的。

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门