博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
延迟加载
阅读量:3940 次
发布时间:2019-05-24

本文共 943 字,大约阅读时间需要 3 分钟。

延迟加载:

就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载。
好处:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。
坏处:
因为只有当需要用到数据时,才会进行数据库查询,这样在大批量数据查询时,因为查询工作也要消耗时间,所以可能造成用户等待时间变长,造成用户体验下降。

主要是通过 association、collection 实现一对一及一对多映射。association、collection 具备延迟加载功能。

注:这里只演示了一对多的延时加载,立即加载请自己思考

实现步骤:

setting

官方文档说明

SqlMapConfig.xml加上
两个配置文件:

IAcountDao.XML

测试类

@Test    public void findAllTest(){
List
userList = userDao.findAll(); for (User user:userList ) {
System.out.println(user.toString());// System.out.println(user.getAccounts()); } }

只执行findAll时:在这里插入图片描述

当不调用getAccounts时:
不调用getAccount时
可见mybatis还是准备了prestatement语句,但是没有执行
当调用getAccounts时:
调用时
可见执行了Preparing语句

综上,实现了延迟加载的要求。

转载地址:http://aciwi.baihongyu.com/

你可能感兴趣的文章
flash as 与js通信(转)
查看>>
Linux系统手动安装rzsz 软件包
查看>>
PHP的事务处理机制
查看>>
JS moveStart和moveEnd方法
查看>>
thrift的lua实现
查看>>
编写高性能的Lua代码
查看>>
Python正则表达式指南
查看>>
LUA--thrift--lib库的创建生成
查看>>
Shell开启扩展模式匹配shopt -s extglob
查看>>
浅谈 URI 及其转义
查看>>
nginx 优化
查看>>
openresty+lua在反向代理服务中的玩法
查看>>
ClickHouse集群搭建从0到1
查看>>
nginx实现请求的负载均衡 + keepalived实现nginx的高可用
查看>>
linux shell 中数组的定义和for循环遍历的方法
查看>>
求1!+2!+3!....+20!(java代码)
查看>>
VMware安装Ubuntu系统无法选择语言
查看>>
QT5.12安装
查看>>
Git/Github初步使用记录
查看>>
QT 开发问题合集
查看>>