码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 延迟加载、一对多映射处理(collection和分步查询)


    延迟加载

    分步查询的优点:

    1.可以实现延迟加载,但必须在核心配置文件中设置全局配置信息

    2.lazyLoadingEnabled:延迟加载的全局开关,当开启时所有关联对象都会延迟加载

    3.aggressiveLazyLoading:当开启时,任何方法的调用都会加载该对象的所有属性;否则,每个属性都会按需加载

    4.此时就可以实现按需加载,获取的数据是什么则就执行相应的sql。可以通过association和collection中的fetchType属性设置当前的分步查询是否使用延迟加载,fetchType"lazy(延迟加载) | eager(立即加载)"

    注意:下面的过程是在上一次的基础上完成

    在核心配置文件中可以设置延迟加载和按需加载,通常情况mapUnderscoreToCamelCase和lazyLoadingEnabled一同使用

    在setting标签中添加mapUnderscoreToCamelCase和lazyLoadingEnabled

      

     在映射文件中可以设置分步查询是否开启延迟加载的关键标签为fetchType

     在测试类中添加测试方法

     测试结果如下所示:

     一对多映射处理(collection和分步查询)

    1.通过collection处理一对多的映射关系

    查询部门信息并且把当前部门中所有的员工查询出来

    在Dept的类中添加List集合的属性empS

     添加该属性的get和set方法,以及重写toString方法

    在DeptMapper接口中添加查询部门以及部门中的员工信息的方法声明

    在DeptMapper的映射文件中添加映射关系和sql语句

     在测试类中添加测试方法

    测试结果如下所示:

     

     

    2.通过分步查询处理一对多的映射关系

    查询部门信息以及部门所对应的员工信息,先把部门信息查询出来,再查询部门中的员工信息

    在DeptMapper接口中添加通过分步查询,查询部门以及部门中的员工信息的第一步方法的声明

     在映射文件中DeptMapper添加sql语句和映射关系

     在接口文件中EmpMapper通过分步查询,查询部门以及部门中的员工信息的第二步方法说明

     在映射文件中EmpMapper添加sql语句

    将第二步的接口方法的地址放入第一步的映射文件的select的标签中

    在测试类中的测试方法

     测试结果如下:

     

  • 相关阅读:
    【我的OpenGL学习进阶之旅】解决OpenGL在使用glUniform系列api时出现了 GL_INVALID_OPERATION 1282错误
    STM32 之 HAL 库串口 USART 丢数据及ORE卡死的解决方案
    代理IP与Socks5代理:网络工程师的神奇魔法棒
    Linux 系统中查看和停止删除定时任务
    简单介绍动态链接过程
    不支持TLS的设备如何实现游客登录加密通信方案
    [pcl][原创]qtcreator中pcl报错无法解析的外部符号 __imp_GetStockObject
    实用工具系列 - Pycharm插件推荐
    golang 运行时死锁排查和检测
    ES6——ES6中对象、字符串、数组的扩展方法
  • 原文地址:https://blog.csdn.net/weixin_46065214/article/details/126901095
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号