mybatis延迟加载是为什么(mybatis延迟加载的原理)

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

一、Mybatis 延迟加载对策

1.1 什么是延迟加载?

延迟加载:便是在要使用数据信息时才开展加载,不用使用数据信息时也不加载数据信息。延迟加载也称懒加载。

益处:先从单表查询,必须时再从关系表去关联查询,进一步提高数据库查询特性,由于查询单表要比关联查询好几张表速率要快。

弊端: 由于只要当必须使用数据信息时,才会开展数据库查询查询,那样在大批数据信息查询时,由于查询工作中也需要耗费時间,因此很有可能导致用户等待的时间拉长,导致用户感受降低。

1.2 实现需求:

要求:查询帐户(Account)信息而且关联查询用户(User)信息。假如先查询帐户(Account)信息就可以符合要求,在我们必须查询用户(User)信息时再查询用户(User)信息。把对用户(User)信息的按需到查询便是延迟加载。

1.3 应用 assocation 完成延迟加载:

1.3.1 帐户的持久层 DAO 插口:

Mybatis知识day04 延迟加载&缓存&注解开发

1.3.2 帐户的持久层投射文档:

Mybatis知识day04 延迟加载&缓存&注解开发

1.3.3 用户的持久层插口和投射文档:

Mybatis知识day04 延迟加载&缓存&注解开发

1.3.4 打开 Mybatis 的延迟加载对策:

大家必须在 Mybatis 的环境变量 SqlMapConfig.xml 文档中加上延迟加载的配备:

Mybatis知识day04 延迟加载&缓存&注解开发

1.3.5 撰写测试标准

1.4 应用 Collection 完成延迟加载:

1.4.1 在 User 实体类中添加 List<Account>特性

1.4.2 撰写用户和帐户持久层插口的方式

1.4.3 撰写用户持久层投射配备:

Mybatis知识day04 延迟加载&缓存&注解开发

1.4.4 撰写帐户持久层投射配备:

Mybatis知识day04 延迟加载&缓存&注解开发

1.4.5 撰写测试标准

二、Mybatis 缓存文件

2.1 Mybatis 一级缓存:一级缓存文件是 SqlSession 范畴的缓存文件,当启用 SqlSession 的改动,加上,删掉,commit(),close()等方式时,便会清除一级缓存文件。

Mybatis知识day04 延迟加载&缓存&注解开发

2.2 Mybatis 二级缓存:二级缓存是 mapper 投射等级的缓存文件,好几个SqlSession去实际操作同一个 Mapper 投射的 sql 句子,好几个 SqlSession 可以同用二级缓存,二级缓存是跨 SqlSession 的。

2.2.1 二级缓存的打开与关掉:

2.2.1.1 第一步:在 SqlMapConfig.xml 文档打开二级缓存

Mybatis知识day04 延迟加载&缓存&注解开发

2.2.1.2 第二步:配备相应的 Mapper 投射文档

Mybatis知识day04 延迟加载&缓存&注解开发

2.2.1.3 第三步:配备 statement 上边的 useCache 特性

Mybatis知识day04 延迟加载&缓存&注解开发

2.2.2 二级缓存常见问题:在我们在应用二级缓存时,所缓存文件的类一定要完成 java.io.Serializable 插口,那样就可以应用实例化方法来储存目标。

第3章 Mybatis 注释开发设计

3.1 mybatis 的常见注释表明:

@Insert:完成新增加

@Update:完成升级

@Delete:完成删掉

@Select:完成查询

@Result:实现結果集封装形式

@Results:可以与@Result 一起应用,封装形式好几个結果集

@ResultMap:完成引入

@Results 界定的封装形式

@One:完成一对一結果集封装形式

@Many:完成一对多結果集封装形式

@SelectProvider: 完成动态性 SQL 投射

@CacheNamespace:完成注释二级缓存的应用

3.2 使用 Mybatis 注释完成基本上 CRUD:

3.2.1 撰写实体类

3.2.2 应用注释方法开发设计持久层插口:

3.2.2.1 查询全部用户:

Mybatis知识day04 延迟加载&缓存&注解开发

3.2.2.2 依据id查询一个用户:

Mybatis知识day04 延迟加载&缓存&注解开发

3.2.2.3 储存和升级实际操作:

Mybatis知识day04 延迟加载&缓存&注解开发

3.2.2.4 删掉实际操作和应用聚合函数

Mybatis知识day04 延迟加载&缓存&注解开发

3.2.2.4 模糊不清查询实际操作:

Mybatis知识day04 延迟加载&缓存&注解开发

3.2.3 撰写 SqlMapConfig 环境变量

3.2.4 撰写测试标准

3.3 应用注释完成繁杂关联投射开发设计:

3.3.1 繁杂关联投射的注释表明:

Mybatis专业知识day04 延迟加载&缓存&注释开发设计

3.3.2 应用注释完成一对一繁杂关联投射及延迟时间载入:

要求: 载入账户信息时而且载入该帐户的客户信息,依据状况可完成延迟时间载入。(注释方法完成)

3.3.2.1 加上 User 实体类及 Account 实体类:

Mybatis知识day04 延迟加载&缓存&注解开发
Mybatis知识day04 延迟加载&缓存&注解开发

3.3.2.2 添加帐户的持久层插口并应用注释配备

Mybatis知识day04 延迟加载&缓存&注解开发

3.3.2.3 加上客户的持久层插口并应用注释配备:

Mybatis知识day04 延迟加载&缓存&注解开发

3.3.2.4 检测一对一关系及延迟时间载入

3.3.3 应用注释完成一对多繁杂关联投射:

要求: 查看客户信息时,也需要查看他的帐户目录。应用注释方法完成。

剖析: 一个客户具备好几个账户信息,因此产生了客户(User)与帐户(Account)中间的一对多关联。

3.3.3.1 User 实体类添加 List<Account>:

Mybatis知识day04 延迟加载&缓存&注解开发

3.3.3.2 撰写客户的持久层插口并应用注释配备

Mybatis知识day04 延迟加载&缓存&注解开发

@Many:

select 特性:意味着即将实行的 sql 句子

fetchType 特性:意味着载入方法,一般要是要延迟时间载入都设定为 LAZY 的值

3.3.3.3 撰写帐户的持久层插口并应用注释配备

3.3.3.4 加上测试标准

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年5月6日 下午6:18
下一篇 2022年5月6日 下午6:20

相关推荐

  • 网站推广策划方案,网站推广策划思路包括哪些

    网站的推广方式多种多样,相信100个就能100种方法,但是如何快速找到适合自己的推广方法,是一门学问,每一个人都有自已的心得体会和方法,本文介绍当下最能快速获得流量的几个方法。 一、问答式的推广 相信很多站长都有尝试过问答推广,通过问答推广可以说是目前效果及转化率最高的方法之一,比如通过百度问答再推广产品,引导用户去搜索问答中的关健词产品,从而达到交易。当然本人一般都是通过搜狗问答来做推广,比如通…

    2022年8月6日
    830
  • 小格雷学生手机怎么样,小格雷刷机教程

    随着智能手机越来越普及,孩子们接触智能手机的年龄也在渐渐提前,甚至许多小学生都已经人手一台智能手机了。虽然方便了家长和孩子的沟通也丰富了孩子们的课余生活,但智能手机也会带来视力下降、沉迷网络、占用孩子学习休息时间等问题。在这种情况下,一款为学生打造的智能手机就十分重要了。 小格雷GP-50参考价:读取中…图片点评报价参数概览 小格雷就是针对学生用户打造的一款手机,在智能科技的加持下能通过手机自…

    2022年8月27日
    730
  • rk机械键盘怎么样(RK987灵越蓝牙双模机械键盘测评)

    现如今,蓝牙双模方案机械键盘越来越多,相比2.4G无线,能够实现跨平台、系统支持,同时功耗比较低,更适合在办公定位机械键盘上应用。其中,RK早前曾经推出过61键蓝牙无线机械键盘,价格成为最大吸引力。随后,得到超薄轴体加持,前段时间也发布了RK速写超薄蓝牙双模机械键盘,特殊96键配列、轻薄机身和便携、高颜值,得到用户一致认可。RK61、速写蓝牙机械键盘都并非常规按键配列,显然都需要一定学习成本,这就…

    2022年10月19日
    1400
  • pdf文件转换word文件格式不变的2种方法!

    在我的工作中经常会处理各种文件,其中最让人头痛的就是PDF文件,PDF格式因其不可编辑性着实令人不少人感到头痛,那么今天在这里为大家分享两种PDF转Word小技巧,帮你快速转换PDF文件,还等什么往下看! 方法一、直接复制法: 使用工具:Word文档、浏览器 特点:操作简单、便捷、快 操作步骤: 首先我们需要将PDF文件通过浏览器打开,然后再新建一个Word文档,直接将里面的内容复制进去即可!但是…

    2022年6月2日
    980
  • 品牌儿童服装有哪些,深受宝妈喜爱的五个童装品牌

    宝妈们已经渐渐成为海淘主力军,母婴产品一直都是海淘的大热门,海淘网站还经常定期大促,让好多宝妈忍不住“剁手”。对于小孩的东西,妈妈们很在意质量和安全问题。宝宝时期,很多妈妈会购买100%棉的。孩子能走路之后,才开始买其他材质,但质地一定要柔软,接口和裤头橡皮处不能粗糙,裤腰要有松紧带,钮扣要紧,不需要回来再加工。 以下几个美国的童装品牌,是最近海淘比较热销的,让我们来了解一下吧! 1、Carter…

    2022年10月7日
    310
  • iphone如何导出通讯录,苹果通讯录复制到sim卡教程

    现在手机更新越来越快,大家的换机也越来越频繁。买了新手机是件高兴的事。但是如何把旧手机上的东西转移到新手机上,就比较麻烦了,今天,我们就来看看怎么导出通讯录。 一、直接导出 1、导入SIM卡通讯录 在设置中找到【邮件、通讯录、日历】功能,选择【导入SIM卡通讯录】,就可以快速的将通讯录转移到新手机上了。 2、使用Airdrop 两部手机同时开启Airdrop功能,然后打开通讯录,选择要传输的通讯录…

    2022年6月8日
    990
  • 创业创新有哪些特征,创业创新的体系介绍

    “2019年全国双创活动周”,是一场创客的“大派对”,来自全国各地近9000人参加了在杭州举行的“双创”活动。或许,每一个创客的背后,都有一个让人心动的创业故事。昨天,在“2019年全国双创活动周”现场,几位创客说出了心声。 创新,是要耐得住寂寞的 林东杭州林东新能源科技股份有限公司总工程师 开幕式那天,李克强总理来到我们LHD海洋发电项目展位前,和我交流了很久。我向总理介绍了LHD海洋发电项目的…

    2022年5月19日
    630
  • 万能投屏软件有哪些,三大免费投屏软件推荐

    信息爆炸的年代,现在更多人都喜欢用手机和电视连接来观看一些节目,但现在智能电视只能支持与自己品牌旗下的手机连接,并不能做到跨品牌连接,难道还要多花钱买个同品牌手机? 但其实有一个方法能够很快的能让智能电视与其他类型设备进行投屏,那就是下载投屏软件,无需数据线,直接就可以连接,随享随连,接下来小编就推荐几款软件方便大家使用。 乐播投屏 如果说有哪些投屏软件可以推荐,乐播投屏首当其冲。这是一款可以实现…

    2022年5月22日
    1020
  • 转行互联网从哪里入手(冷门缺人却高薪的职业)

    这是吉姆妮第21篇原创 有网友说:转行就像打麻将,打了一半碰碰胡,突然想改胡七小对。这个呢,也不是不能成。关键是看你有多想做成这件事情,以及愿意付出多少。 我这里有3个零基础转互联网的故事,你想听吗? 01 同事的老公,29岁,以前是化工厂工人,现在是前端开发工程师 她老公大学学的化工,毕业后在化工厂工作了四年,朝九晚六不加班。 结婚后她一直担心厂子环境不好,天天撺掇他离开,因为实在架不住唠叨(好…

    2022年10月15日
    430
  • 适合大学生创业项目有哪些,大学生创业50个小案例

    创业已经不单单是社会人会做的事情了,现在的在校大学生,挥着毕业的大学生都会想着参与创业,为自己的成功之路提前做准备。来看看大学生创业可以做什么项目? 大学生创业可以做什么项目 鲜花店 其实校园是一个鲜花消费的巨大市场,情侣之间,同学之间,师生之间,其实只要是逢年过节,典礼庆祝,或者是什么重要的节日,鲜花都无处不在的。在大学校园或者学校附近开家鲜花店当然也是有许多优点的,一是投资小,在市场上租一个店…

    2022年8月11日
    610

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信