JavaWeb框架复习笔记-Hibernate(Hibernate的检索策略和批量抓取)

第一种:立即查询

根据id查询,调用get方法,一调用get方法马上发送语句查询数据库
我们打个断点测试一下
在这里插入图片描述

第二种:延迟查询(类级别)

根据id查询,还有load方法,调用load方法不会马上发送语句查询数据,只有得到对象里面的值时候才会发送语句查询数据库
同样的打个断点测试一下
在这里插入图片描述
可以看出这个延迟加载只有查询非id值的时候才会发送sql语句
在这里插入图片描述

不过这里会有一个小bug,需要提前解决一下,就是idea和eclipse不同的debug方式,要手动关掉一个设置才能测试到这个load方法的延迟效果

在这里插入图片描述

延迟查询的另一种:关联级别延迟

就像我们公司和员工是有关联的,这个时候查询公司的同时查询员工这个过程要不要延迟就叫做关联级别的延迟,而在hibernate中是默认启动这个种延迟效果的

首先get方法发送了语句
在这里插入图片描述
调用set集合时不发送语句
在这里插入图片描述
在这里插入图片描述

这个idea要想测试这个效果,也得去把另一个选项勾掉才能实现

在这里插入图片描述

我们可以通过修改配置文件的属性来修改关联延迟的类型

1 在映射文件中进行配置实现
(1)根据客户得到所有的联系人,在客户映射文件中配置

2 在set标签上使用属性
(1)fetch:值select(默认)
(2)lazy:值

true:延迟(默认)
false:不延迟
extra:极其延迟

不延迟(这个效率很低,不推荐使用)
在这里插入图片描述
在这里插入图片描述
极其延迟(效率很高)
在这里插入图片描述
在这里插入图片描述

hibernate的批量抓取

1 查询所有的公司,返回list集合,遍历list集合,得到每个公司,得到每个公司的所有员工
(1)上面操作代码,发送多条sql语句

在这里插入图片描述
很多语句
在这里插入图片描述

2 在客户的映射文件中,set标签配置
(1)batch-size值,值越大发送语句越少

在这里插入图片描述
数值太小,没什么效果
在这里插入图片描述
把数值改大
在这里插入图片描述
发现值少了很多,这样效率就高了
在这里插入图片描述

好了,hibernate的基础部分就复习到这里了,等以后再回来深入理解,或许要淘汰了不一定哈哈哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值