MyBatis映射关系(1-1 1-n n-n)

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 本文介绍MyBatis四大关联映射:一对一(属性与字段映射)、一对多(如用户含多个角色,用`<collection>`)、多对一(如博客关联作者,用`<association>`)和多对多(通过中间类实现,如用户与部门)。解决实体间复杂关系映射问题,提升数据查询效率。

本文介绍了MyBatis中四种核心关联映射:一对一(属性与字段映射)、一对多(如用户关联多个角色,使用&lt;collection&gt;)、多对一(如博客关联作者,使用&lt;association&gt;)和多对多(通过中间类实现,如用户与部门)。适用于解决实体间复杂关系映射问题。
1 一对一
定义一个一对一的Result,进行属性-字段之间的一对一关联映射即可,如果属性和字段是一致的,resultType实际也是可以的,resultMap更多是解决字段-属性不一致(满足驼峰命名就是一致),如id(属性)-USER_ID(字段)2 一对多设:一个用户对应多个角色User类中添加List一的mapper.xml中,resultMap添加标签.如:会得到类似这样的数据
JSON复制代码
{
"id": "1003",
"username": "小波",
"password": "123456",
"address": "北京市东城区",
"email": "510273027@qq.com",
"roles": [
{
"id": "1",
"name": "开发"
},
{
"id": "2",
"name": "TL"
}
]
}
3 多对一设:一个作者可以有多个博客Author类中添加Blog一的mapper.xml中添加如:
XML复制代码







或:
XML复制代码






4 多对多设:多个部门对应多个用户定义一个第三方类,假设为UserForDept.java,属性private User user; private Dept dept;User类中添加Set(针对不同场合这里也可以List),mapper.xml中添加添加UsersForDeptDept类中添加Set(针对不同场合这里也可以List),mapper.xml中添加添加UsersForDept

相关文章
|
JSON 前端开发 Java
SpringBoot项目Http406错误问题解决
一、背景 1、自定义了返回类 2、控制器使用@ResponseBody注解标记
|
Java 应用服务中间件 Android开发
IDEA 编译时 报 “常量字符串过长” 解决办法
IDEA 编译时 报 “常量字符串过长” 解决办法
4280 0
|
4月前
|
机器学习/深度学习 存储 自然语言处理
大模型基础概念术语解释
大语言模型(LLM)基于Transformer架构,通过海量文本训练,具备强大语言理解与生成能力。其核心组件包括注意力机制、位置编码与嵌入层,支持文本分割为Token进行处理。参数量达亿级以上,规模增长带来涌现能力,如复杂推理与跨任务泛化。混合专家模型(MoE)提升效率,推动模型持续扩展。
|
4月前
|
Linux 数据安全/隐私保护 虚拟化
虚拟机安装(CentOS7)
准备CentOS7镜像及VMware Workstation虚拟机工具,可从百度云下载(提取码:h1y9/bkz3)。使用VMware创建虚拟机,参考知乎教程完成安装。默认登录用户为root,密码由用户自定义设置。需准备一台具备运行虚拟机条件的电脑。
|
4月前
|
消息中间件 人工智能 Linux
基于 RocketMQ 构建 高可靠 A2A 通信通道
A2A协议由Google于2025年发起,旨在实现跨厂商AI智能体的标准化通信。基于RocketMQ构建的异步通信方案,支持任务分发、流式交互与状态同步,助力高效、可靠的多智能体协同系统落地,现已开源。
|
4月前
|
消息中间件 人工智能 决策智能
AgentScope x RocketMQ:构建多智能体应用组合
AgentScope是阿里巴巴推出的开发者友好型多智能体框架,支持模块化、可定制的智能体应用开发。通过集成RocketMQ,实现高效、可靠的Agent间通信,助力构建如“智能旅行助手”等复杂协作场景,推动多智能体生态发展。(238字)
|
4月前
|
人工智能 JSON 数据挖掘
大模型应用开发中MCP与Function Call的关系与区别
MCP与Function Call是大模型应用的两大关键技术。前者是跨模型、标准化的通信协议,实现多工具动态集成;后者是模型调用外部函数的内置机制。MCP如同“蓝牙协议”,支持多设备互联互通,具备高兼容性与扩展性;Function Call则像“语音助手”,依赖特定模型完成具体任务。二者在功能上互补:MCP构建通用接口层,解耦模型与工具;Function Call负责意图解析与指令生成。
每日必会7
CAP理论指出分布式系统中一致性(C)、可用性(A)、分区容错性(P)不可兼得,只能三选二。由于网络故障不可避免,P必须保证,因此只能在A和C间权衡。BASE理论是对此的实践补充,主张基本可用、软状态、最终一致性。Seata AT模式通过全局事务ID(XID)协调分支事务注册与提交,实现分布式事务一致性。MQ防丢消息:生产端确认、持久化、消费端ACK;防重复消费:幂等设计;防积压:扩容、批量处理、限流削峰。
|
4月前
|
Dubbo Java 应用服务中间件
每日必会2
Gateway基于Spring Cloud Gateway,采用Spring WebFlux与Netty实现非阻塞高性能转发。请求由Netty Server接收,匹配路由后经过滤器处理,通过Netty Client转发至目标服务,响应反向经过滤后返回。项目远程调用主要使用OpenFeign,底层基于HTTP,也曾使用Dubbo。JVM方面掌握模型、GC机制、类加载及调优。
|
关系型数据库 MySQL 索引
MySQL的group by与count(), *字段使用问题
正确使用 `GROUP BY`和 `COUNT()`函数是进行数据聚合查询的基础。通过理解它们的用法和常见问题,可以有效避免查询错误和性能问题。无论是在单列分组、多列分组还是结合其他聚合函数的场景中,掌握这些技巧和注意事项都能大大提升数据查询和分析的效率。
1552 0