第 3-5 课:MyBatis 延迟加载

本文介绍了MyBatis的延迟加载,一种优化机制,减少了不必要的数据库交互。通过案例展示了在查询订单时,如何根据需求决定是否查询关联的客户信息,从而提高程序运行效率。文章总结了延迟加载在多表关联查询中的应用,并鼓励读者探讨和分享。
摘要由CSDN通过智能技术生成

前言

MyBatis 框架支持数据的级联查询,当然它不会自动完成,需要开发者手动在 Mapper.xml 中进行映射配置,比如我们拿客户(Customer)和订单(Order)举例,每一个订单都有对应的客户,在程序中的体现是查询到一个 Order 对象之后,可以直接访问到对应的 Customer 对象,比如根据 ID 查询订单,输出其客户姓名,代码如下所示。

public class Test {
    public static void main(String[] args) {
        InputStream inputStream = Test.class.getClassLoader().getResourceAsStream("config.xml");
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        OrderRepository orderRepository = sqlSession.getMappe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值