mybatis 延迟加载

您所在的位置:网站首页 mybatis延迟加载会导致性能下降吗 mybatis 延迟加载

mybatis 延迟加载

2024-07-17 06:20| 来源: 网络整理| 查看: 265

MyBatis的延迟加载(Lazy Loading)是一种优化技术,用于在需要时才加载关联对象或集合,从而提高性能和效率。以下是对MyBatis延迟加载的详细介绍:

延迟加载的基本概念 延迟加载是指在第一次访问对象的属性时才加载该对象的数据,而不是在对象创建时就立即加载所有的数据。这样可以避免不必要的数据库访问,减少系统的开销和提高性能。 在这里插入图片描述 在这里插入图片描述

SELECT * FROM user WHERE id = #{id}

在上面的示例中,User类中的address属性会被设置为延迟加载。

public class MyBatisExample { public static void main(String[] args) { SqlSessionFactory sqlSessionFactory = MyBatisUtil.getSqlSessionFactory(); try (SqlSession session = sqlSessionFactory.openSession()) { UserMapper userMapper = session.getMapper(UserMapper.class); User user = userMapper.selectUser(1); System.out.println(user.getUsername()); // 此时不会加载address System.out.println(user.getAddress().getCity()); // 访问address时才会加载address } } }

在这里插入图片描述 aggressiveLazyLoading属性:

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3