本文共 943 字,大约阅读时间需要 3 分钟。
延迟加载:
就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载。 好处:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。 坏处: 因为只有当需要用到数据时,才会进行数据库查询,这样在大批量数据查询时,因为查询工作也要消耗时间,所以可能造成用户等待时间变长,造成用户体验下降。主要是通过 association、collection 实现一对一及一对多映射。association、collection 具备延迟加载功能。
注:这里只演示了一对多的延时加载,立即加载请自己思考
实现步骤:IAcountDao.XML
测试类
@Test public void findAllTest(){ ListuserList = userDao.findAll(); for (User user:userList ) { System.out.println(user.toString());// System.out.println(user.getAccounts()); } }
只执行findAll时:
当不调用getAccounts时: 可见mybatis还是准备了prestatement语句,但是没有执行 当调用getAccounts时: 可见执行了Preparing语句综上,实现了延迟加载的要求。
转载地址:http://aciwi.baihongyu.com/