映射关系

简介: MyBatis中通过resultMap实现关联映射:一对一使用`<id>`和`<result>`;一对多在“一”方用`<collection>`映射集合;多对一用`<association>`关联对象;多对多需借助中间类,双方均用`<collection>`维护关系,实现复杂数据结构的精准映射。(238字)

1 一对一
定义一个一对一的Result,进行属性-字段之间的一对一关联映射即可,如果属性和字段是一致的,resultType实际也是可以的,resultMap更多是解决字段-属性不一致(满足驼峰命名就是一致),如id(属性)-USER_ID(字段)
2 一对多
设:一个用户对应多个角色
User类中添加List
一的mapper.xml中,resultMap添加标签.
如:
会得到类似这样的数据
JSON
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"id": "1003",
"username": "小波",
"password": "123456",
"address": "北京市东城区",
"email": "510273027@qq.com",
"roles": [
{
"id": "1",
"name": "开发"
},
{
"id": "2",
"name": "TL"
}
]
}
3 多对一
设:一个作者可以有多个博客
Author类中添加Blog
一的mapper.xml中添加
如:
XML
复制代码
1
2
3
4
5
6
7
8
9
10









或:
XML
复制代码
1
2
3
4
5
6
7
8
9
10











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

相关文章
|
2月前
|
运维 网络安全 数据安全/隐私保护
Docker 部署 GitLab CE 完整版教程
GitLab Community Edition(简称GITLAB-CE)是一款开源的DevOps平台,集成了代码仓库管理、版本控制、 issue 跟踪、CI/CD 流水线、Wiki 和容器仓库等功能,为软件开发团队提供一站式的协作解决方案。通过Docker容器化部署GITLAB-CE,可大幅简化安装流程、提高环境一致性,并便于快速扩展和迁移。本文将详细介绍如何通过Docker快速部署GITLAB-CE,并提供生产环境优化建议及故障排查方案。
1250 0
Docker 部署 GitLab CE 完整版教程
|
2月前
|
人工智能 弹性计算 API
阿里云ECS/轻量服务器部署AI Agent:百炼Token Plan接入与配置详解
在阿里云服务器上部署AI Agent并接入百炼Token Plan,是快速搭建稳定、低成本、可规模化运行的AI智能体服务的最优路径。依托阿里云服务器的稳定算力与百炼Token Plan的统一Credits计费模式,AI Agent可实现多模型调用、上下文记忆、工具执行等核心能力,无需复杂运维即可支撑个人开发、团队协作与业务落地。本文以主流的Hermes Agent为例,从部署前准备、服务器选型与创建、百炼Token Plan开通与凭证获取、AI Agent部署与配置、功能验证到常见问题排查,提供完整实操流程,覆盖轻量应用服务器一键部署与ECS手动部署两种方案,适配新手与进阶用户需求。
382 0
|
4月前
|
人工智能 运维 监控
WebGL 开发数字孪生项目
本文详解WebGL/WebGPU数字孪生开发路径:涵盖Three.js/Babylon.js/Cesium.js引擎选型、glTF模型优化、WebSocket实时数据驱动、空间分析与报警漫游等交互模块,以及Draw Call/纹理/后处理等性能红线,并前瞻WebGPU计算着色器带来的物理仿真新可能。(239字)
|
机器学习/深度学习 数据采集 安全
MiMo-7B:从预训练到强化学习,解锁语言模型的推理潜能
目前,大多数成功的 强化学习 工作,包括开源研究,都依赖于相对较大的基础模型,例如 32B 模型,特别是在增强代码推理能力方面。业内普遍认为在一个小模型中同时提升数学和代码能力是具有挑战性的。然而,小米MiMo研究团队相信 RL 训练的推理模型的有效性取决于基础模型固有的推理潜力。为了完全解锁语言模型的推理潜力,不仅需要关注后训练,还需要针对推理定制预训练策略。
942 43
|
8月前
|
安全 小程序 JavaScript
OAuth2.0四种授权模式
OAuth2四种授权模式简介:授权码模式最安全,适用于第三方登录;简化模式适用于无后端的应用;密码模式需高度信任;客户端模式用于服务间调用,无需用户参与。
|
8月前
|
运维 Java 关系型数据库
微服务优缺点
微服务架构优势显著:易维护、技术栈灵活、升级隔离性强。但存在运维复杂、调用链路长、分布式事务难、学习成本高等挑战,需结合SpringCloud、Docker、Seata等技术协同解决,适合高并发、大体量系统构建。
|
8月前
|
网络协议 网络安全 网络虚拟化
DNS 隧道
DNS隧道利用DNS协议在53端口传输非DNS流量,如HTTP数据。虽有合法用途,但常被攻击者用于恶意目的,伪装出站流量,窃取数据或建立命令与控制通道,隐蔽性强,威胁网络安全。
|
8月前
|
SQL 数据库 数据安全/隐私保护
用于绕过身份验证的 SQL 注入示例
该文介绍了SQL注入如何绕过登录验证:攻击者通过在登录表单输入恶意构造的用户名(如`admin&#39;)--`)和密码,利用SQL语句注释符`--`使数据库忽略密码校验,从而非法获取管理员权限。此攻击无需知晓真实密码,凸显了输入验证的重要性。
|
8月前
|
SpringCloudAlibaba Java Nacos
SpringCloud Alibaba诞生
阿里基于Spring Cloud打造Alibaba生态,推出Nacos、Sentinel、Seata等核心组件,覆盖服务发现、配置管理、流量控制与分布式事务,形成完整微服务解决方案,获Spring官方认可,推动Spring Cloud在企业级场景高效落地。
|
计算机视觉 网络架构
【YOLOv10改进-特征融合】YOLO-MS MSBlock : 分层特征融合策略
YOLOv10专栏介绍了YOLO-MS,一个优化多尺度目标检测的高效框架。YOLO-MS通过MS-Block和异构Kernel选择提升性能,平衡了计算复杂度与准确性。它在不依赖预训练的情况下,在COCO上超越同类模型,如YOLO-v7和RTMDet。MS-Block包含不同大小卷积的分支,用于增强特征表示。代码示例展示了MSBlock类的定义,用于处理不同尺度特征。该模块可应用于其他YOLO模型以提升性能。更多详情和配置参见相关链接。

热门文章

最新文章