使用延迟加载的意义
在进行数据查询时,为了提高数据库查询性能,尽量使用单表查询,因为单表查询比多表关联查询速度要快。
在互联网企业中,如果查询单表就可以满足需求,一开始先查询单表,当需要关联信息时,再关联查询,当需要关联信息再查询这个叫延迟加载
配置mybatis支持延迟加载
延迟加载实现
实现思路
需求
查询用户和部门,实现一对一查询
刚开始只用用户信息
当需要用户是调用user类中的getDept()方法执行延迟加载,向数据库发出sql
mapper.xml
resultMap
测试代码`
@Test
public void testMapperFindList(){
SqlSession session = sqlSessionFactory.openSession();
UserMapper userMapper = session.getMapper(UserMapper.class);
List<User> list = userMapper.findUserAndDeptListByLazy();
list.forEach(u->{
System.out.println(u.getDept());
});
System.out.println(list.size());
}