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

简介: 本文介绍MyBatis四大关联映射:一对一(字段与属性映射)、一对多(如用户含多个角色,用`<collection>`)、多对一(如博客关联作者,用`<association>`)、多对多(通过中间类实现,如用户与部门)。解决实体间复杂关系映射,提升数据操作效率。(238字)

本文介绍了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

相关文章
|
SQL Java 数据库连接
MyBatis映射体系
映射工具MetaObject 所谓映射是指结果集中的列填充至JAVA Bean属性。这就必须用到反射,而Bean的属性多种多样的有普通属性、对象、集合、Map都有可能。为了更加方便的操作Bean的属性,MyBatis提供了MetaObject 工具类,用于操作数据库中表的字段映射成 Java 对象的属性。它提供了一些方法来获取、设置、判断 Java 对象的属性。 基本功能 其具体功能如下: 查找属性:勿略大小写,支持驼峰、支持子属性 如:“blog.comment.user_name” 获取属性 基于.获取子属性 “user.name” 基于索引获取列表值 “users[1].id”
200 0
|
3月前
|
监控 Java 调度
XXLJob定时任务概述
定时任务指按时间表达式周期执行的任务,适用于对账、提醒、订单超时等场景。实现方式包括单体架构的轮询休眠、Timer、ScheduledExecutorService、Quartz及SpringTask;分布式架构面临重复执行、动态调整、故障转移等问题,主流方案有XXL-JOB、Elastic-Job、Saturn和ScheduleX等。
|
3月前
|
机器学习/深度学习 存储 自然语言处理
大模型基础概念术语解释
大语言模型(LLM)基于Transformer架构,通过海量文本训练,具备强大语言理解与生成能力。其核心组件包括注意力机制、位置编码与嵌入层,支持文本分割为Token进行处理。参数量达十亿乃至万亿级,展现涌现与泛化能力,能完成多任务推理。混合专家模型(MoE)提升效率与扩展性,推动大模型持续发展。(237字)
|
3月前
|
Linux 数据安全/隐私保护 虚拟化
虚拟机安装(CentOS7)
准备CentOS7镜像及VMware Workstation(可从百度云下载),提取码已提供。使用VMware创建虚拟机,参考指定教程完成安装。默认登录用户为root,密码由用户自设。确保电脑配置满足运行需求。(238字)
|
3月前
|
人工智能 JSON 数据挖掘
大模型应用开发中MCP与Function Call的关系与区别
MCP与Function Call是大模型应用的两大关键技术。MCP为模型与外部工具提供标准化通信协议,实现跨模型、跨平台集成;Function Call则是模型调用外部函数的内置机制。前者如“蓝牙协议”,支持多设备互联,后者像“语音助手”,限于单机操作。两者在功能上互补:MCP支持工具热插拔、权限控制与远程调用,适用于企业级复杂系统;Function Call开发简单,适合快速验证单一模型能力。未来趋势将走向融合,形成“模型解析-协议传输-工具执行”的分层架构,推动AI应用生态标准化发展。
|
3月前
|
XML 算法 安全
详解RAG五种分块策略,技术原理、优劣对比与场景选型之道
RAG通过检索与生成结合,提升大模型在企业场景的准确性与安全性。分块策略是其核心,直接影响检索效果与回答质量。本文系统解析五种主流分块方法:固定大小、语义、递归、基于文档结构及LLM分块,对比其优缺点与适用场景,并提出组合优化路径,助力构建高效、可信的RAG系统。
|
3月前
|
消息中间件 人工智能 决策智能
AgentScope x RocketMQ:构建多智能体应用组合
AgentScope是阿里巴巴推出的开发者友好型多智能体框架,支持模块化、可定制的智能体应用开发。通过集成RocketMQ,实现高效可靠的A2A通信,助力构建如“智能旅行助手”等复杂协作场景,提升开发透明度与运行时可控性。(238字)
|
3月前
|
SQL 运维 分布式计算
如何做好SQL质量监控
SLS推出用户级SQL质量监控功能,集成于CloudLens for SLS,提供健康分、服务指标、运行明细、SQL Pattern分析及优化建议五大维度,助力用户全面掌握SQL使用情况,识别异常、优化性能,提升日志分析效率与资源管理能力。
|
3月前
|
NoSQL Shell Redis
Redis集群伸缩,转移插槽失败
Redis集群出现slots状态异常,提示节点间配置不一致,部分slot处于importing状态。需登录对应实例,执行`cluster setslot &lt;id&gt; stable`命令恢复slot稳定状态,修复问题后方可重新平衡集群。注意根据实际slot ID调整参数。
|
3月前
|
XML Java 数据库连接
mybatis 2.映射关系(1-1 1-n n-n)
本文介绍了MyBatis中四种核心映射关系:一对一、一对多、多对一及多对多。通过resultMap实现属性与字段的映射,解决命名不一致问题;利用`&lt;association&gt;`处理多对一,`&lt;collection&gt;`处理一对多与多对多,结合实体类与XML配置完成复杂对象关联。

热门文章

最新文章