九、MyBatis的延迟加载

9.1什么是延迟加载

        延迟加载是一种技术,它允许在真正需要数据的时候才进行加载,而不是一开始就加载所有数据。这种技术可以提高应用程序的性能,因为它可以减少数据库查询的次数,降低网络和数据库的负载。在MyBatis中,延迟加载可以通过多种方式实现,例如使用元素或实现ResultHandler接口来自定义结果集的处理方式。

9.2mapper

public interface UserDao {
    public List findAll();
}


        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

   
       
       
       
       
       
         
                            select="com.by.dao.AccountDao.findAccountById" column="id">    
       

   

   


        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

   
 

9.3全局开启懒加载

   
   
       
       
   
 

9.4测试 



    @Test
    public void testFindAll() {
        UserDao userDao = sqlSession.getMapper(UserDao.class);
        List userList = userDao.findAll();
        for(User user : userList){
            System.out.println(user.getUsername());//不查询account
            System.out.println(user.getAccounts());//查询account
        }
    }

 

你可能感兴趣的:(mybatis)