首页/新闻资讯/正文详情

Mybatis的多表操作问题

发布时间:2026/9/24 17:15:22 来源:云帆数科 栏目:资讯中心
Mybatis的多表操作问题
第二张图的association 和 第一张图的一样Q1 一对一表关系之中哪个属性封装到ResultMap中哪一个封装到association当中?A主要看谁包含谁例如一个用户 (User) 持有一张身份证 (IdCard)// User 主实体 public class User{ private Integer id; private String name; // User里面包含 IdCard 对象 private IdCard idCard; } public class IdCard{ private Integer cid; private String cardNo; }User 是外层主体resultMap 的typeUseridCard是 User 的内部成员单个对象 所以在 User 的 resultMap 里面写。resultMap idUserMap typeUser id columnu_id propertyid/ result columnu_name propertyname/ !-- User里面装着idCard所以association写idCard -- association propertyidCard javaTypeIdCard id columncid propertycid/ /association /resultMap一句话总结规则resultMap 的 type 指定「外层大对象」association 的 property 写「外层对象里面包含的成员对象」。order表内部还包含了user 的信息Q2一对多一对多表关系之中哪个属性封装到ResultMap中哪一个封装到collection当中?collection的作用封装【集合类型属性】ListT / SetT。所以哪一个有集合哪一个就被封装。查询场景查询一个用户名下的所有订单// User一个用户 public class User { private Integer id; private String name; // 一个用户 → 多个订单集合 private ListOrder orderList; } // Order多个订单 public class Order { private Integer oid; private String orderName; private Integer userId; // 一个订单 → 归属一个用户【单个对象】不是List private User user; }所以把OrderList封装进collection中resultMap idUserWithOrderMap typecom.entity.User !-- 用户自身字段 -- id columnu_id propertyid/ result columnu_name propertyname/ !-- User内部属性ListOrder orderList 【集合】 一对多 → 使用 collection propertyUser里集合属性名 orderList ofType集合里面元素类型 Order -- collection propertyorderList ofTypecom.entity.Order id columno_oid propertyoid/ result columno_order_name propertyorderName/ /collection /resultMap查询用户下属的订单有哪些多对多查询多对多的键表原则是必须要引入一张中间表即上图中的user_role表查询语句以及查询结果如下

相关推荐

基于 Java Spring Boot 的在线学习教育平台设计与实现
基于 Java Spring Boot 的在线学习教育平台设计与实现

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 1. 引言 随着互联网技术的快速发展,在线教育已成为现代教育体系中的重要组成部分。本文基于 Java Spring Boot 框架,设计并实现一个在线学习教育… · 2026/9/24 17:15:22

Flet ScreenBrightnessChangeEvent 详解:监听并响应屏幕亮度变化事件
Flet ScreenBrightnessChangeEvent 详解:监听并响应屏幕亮度变化事件

前端跨平台桌面应用移动开发 【免费下载链接】flet Build realtime web, mobile and desktop apps in Python only. No frontend experience required. 项目地址: https://gitcode.com/gh_mirrors/fl/flet 点击查看 免费下载 导读 ScreenBrightnessChangeEvent 是… · 2026/9/24 17:15:22

深入解析 Go JOSE:JWE/JWS/JWT 算法体系与在 distribution 注册中心 Token 认证中的落地实践
深入解析 Go JOSE:JWE/JWS/JWT 算法体系与在 distribution 注册中心 Token 认证中的落地实践

云原生存储 【免费下载链接】distribution The toolkit to pack, ship, store, and deliver container content 项目地址: https://gitcode.com/gh_mirrors/dis/distribution 点击查看 免费下载 Go JOSE 是 JOSE(JavaScript Object Signing and Encrypt… · 2026/9/24 17:15:08

出海新征程:迁移科技全球化战略与海外市场的本土化破局
出海新征程:迁移科技全球化战略与海外市场的本土化破局

2026年7月,日本九州。一位当地制造业客户站在日本合作伙伴的展台前,用放大镜仔细查看屏幕上的点云图像——一个黑色反光金属工件的3D轮廓清晰浮现。他转头对身边的同伴说了句日语,大意是“这个在阳光下也能看到”。这台首次在日本公开亮相的E… · 2026/9/24 17:52:00

前端开发面试题
前端开发面试题

一、HTML1. HTML5 新特性有哪些? 语义化标签:header/nav/main/article/section/footer;表单增强:email/date/range;音视频:audio/video;图形:Canvas/SVG;存储&#xff1a… · 2026/9/24 17:52:00

【n8n】图片在线化与压缩优化自动化应用
【n8n】图片在线化与压缩优化自动化应用

高效的图像处理不仅影响加载速度,也直接决定视觉呈现质量。在多平台内容创作与发布的环境中,如何实现图片的在线化与文件体积优化,成为兼顾性能与美感的重要课题。 内容将围绕一套基于 n8n 的自动化工作流展开,该流程可实现本地或生成的图片自动上传、生成在线链接,并进行… · 2026/9/24 17:52:00

aipy python学习 学习留痕1
aipy python学习 学习留痕1

raisePACKAGE_NAME “aipyapp” 像C宏定义 sys.executable 当前python路径 sys.stdout open(os.devnull, “w”, encoding‘utf-8’) 标准输出 stdout 重定向到“黑洞” with as 获取资源,使用资源,自动释放资源 toml文件,比 JSON 更适合… · 2026/9/24 17:52:00

2026短视频配音工具怎么选?实用功能才是关键
2026短视频配音工具怎么选?实用功能才是关键

打开应用商店搜"配音",跳出来的工具没有一百也有八十。榜单天天变,"第一名"月月换,但说实话,选配音工具跟选手机一个道理——参数表再漂亮,不如看实用功能对不对得上你的活儿。2026年的AI配音早已… · 2026/9/24 17:52:00

中山大学联合港科大团队,在Nat Med发表冰冻切片专用基础模型,让手术决策“边切边准”
中山大学联合港科大团队,在Nat Med发表冰冻切片专用基础模型,让手术决策“边切边准”

小罗碎碎念 文献来源:Zhao Z, Zhou F, Li R, et al. A clinically-oriented foundation model for intraoperative pathology. Nature Medicine (2026). 研究由中山大学肿瘤防治中心蔡木炎团队与香港科技大学陈浩团队等联合完成,数据来自10个医学中心。 … · 2026/9/24 17:51:54

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码