SpringBoot 自定义映射规则resultMap collection一对多

介绍

collection是封装一对多关系的,通常情况下是一个列表,association是一对一,通常情况是一个对象。例如:查询班级下所有的学生,一个班级可以有多个学生,这就是一对多。

案例

有一个学生表,一个班级表,需求根据班级表查出该班级下所有的学生
在这里插入图片描述

一对多查询

SELECT
s.name studentsName ,
s.classes,
s.id studentsId,
c.id ,
c.name FROM classes c 
JOIN students s ON c.id=2 AND c.id=s.classes

在这里插入图片描述

实体类

学生实体

@Data
public class Students {Long id;String name;Long classes;//班级消息Classes belong;
}

班级实体

@Data
public class Classes {Long id;String name;List<Students> students;
}

controller

@RestController
@RequestMapping("/classes")
public class ClassesController {@AutowiredClassesMapper classesMapper;@GetMapping("/getClass")public Result getClass(Integer id){return  Result.success("获取成功",classesMapper.list(id););}}

Mapper

@Mapper
public interface ClassesMapper {Classes list(Integer id);
}
<select id="list" resultMap="studentList" >SELECT   s.name studentsName ,s.classes,s.id studentsId,c.id ,c.name FROM classes c JOIN students s ON c.id=#{id} AND c.id=s.classes
</select><resultMap id="studentList" type="com.example.demo.demos.web.pojo.Classes" ><id column="id" property="id"></id><result column="name" property="name"></result><collection property="students" ofType="com.example.demo.demos.web.pojo.Students" ><id property="id" column="studentsId"></id><result property="name" column="studentsName"></result>            <result property="classes" column="classes" ></result></collection></resultMap>

查询结果

{"code": 200,"msg": "获取成功","data": {"id": 3,"name": "大数据2","students": [{"id": 2,"name": "赵子龙","classes": 3,"belong": null},{"id": 4,"name": "马冬梅","classes": 3,"belong": null},{"id": 5,"name": "易烊干玺","classes": 3,"belong": null}]}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/525845.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网络原理】网络编程基础和Socket套接字

目录 &#x1f334;网络编程基础&#x1f338;为什么需要网络编程&#xff1f;&#x1f338;什么是网络编程&#x1f338;网络编程中的基本概念&#x1f33b;发送端和接收端&#x1f33b;请求和响应&#x1f33b;客户端和服务端&#x1f33b;常见的客⼾端服务端模型 &#x1f3…

百度智能云发布专用向量数据库 VDB 1.0,全新设计内核开启性能狂飙

1 专用向量数据库应对未来业务挑战 向量数据库 向量检索 数据库 向量数据库大致可以分为 2 部分&#xff1a;向量数据的检索&#xff0c;以及向量数据的存储和管理。 向量数据库的性能&#xff0c;比如高 QPS、低延时等&#xff0c;使得业务能够更快的响应用户的查询请求…

前端手册-实现挂坠灯笼效果

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

ChatGPT发不出消息?GPT发不出消息怎么办?

前言 今天发现&#xff0c;很多人的ChatGPT无法发送信息&#xff0c;我就登陆看一下自己的GPT的情况&#xff0c;结果还真的无法发送消息&#xff0c;ChatGPT 无法发送消息&#xff0c;但是能查看历史的对话&#xff0c;不过通过下面的方法解决了。 第一时间先打开官方的网站&a…

Facebook广告必坑指南

不明确的目标&#xff1a; 在开始广告活动之前&#xff0c;确保你清楚自己的广告目标。是想提高品牌知名度、促进销售、还是增加网站流量&#xff1f;明确的目标有助于指导广告内容和策略。 忽视目标受众定位&#xff1a; 确定你的目标受众是关键的。使用Facebook广告管理工具…

[2024-03-09 19:55:01] [42000][1067] Invalid default value for ‘create_time‘【报错】

这个错误可能是因为你的 MySQL 数据库版本不支持 CURRENT_TIMESTAMP 作为默认值。在一些早期版本中&#xff0c;MySQL 对 TIMESTAMP 类型字段的默认值设置有限制&#xff0c;只允许使用特定的常量值&#xff08;如 0000-00-00 00:00:00 或 CURRENT_TIMESTAMP()&#xff09;。如…

Mybaties-Plus saveBatch()、自定义批量插入、多线程批量插入性能测试和对比

一.背景 最近在做一个项目的时候&#xff0c;由于涉及到需要将一个系统的基础数据全量同步到另外一个系统中去&#xff0c;结果一看&#xff0c;基础数据有十几万条&#xff0c;作为小白的我&#xff0c;使用单元测试&#xff0c;写了一段代码&#xff0c;直接采用了MP(Mybati…

挑战杯 基于生成对抗网络的照片上色动态算法设计与实现 - 深度学习 opencv python

文章目录 1 前言1 课题背景2 GAN(生成对抗网络)2.1 简介2.2 基本原理 3 DeOldify 框架4 First Order Motion Model5 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于生成对抗网络的照片上色动态算法设计与实现 该项目较为新颖&am…

laravel-admin 头部添加操作

新建html 样式及js namespace App\Admin\Extensions\Nav;class Links {public function __toString(){return <<<HTML<li><a href"" οnclick"js_method();return false;"><i class"fa fa-floppy-o"></i><s…

解读BOT攻击,探索灵活高效的防护之道

回顾早期的互联网应用&#xff0c;由于业务流量比较小&#xff0c;往往单台服务器就能满足负载需求。随着互联网的流量越来越大&#xff0c;单服务器已经不能满足业务需求&#xff0c;无论它优化得再好&#xff0c;都较难承受大量的访问压力。支持负载均衡的技术很多&#xff0…

RocketMQ-存储与弹性伸缩

存储与弹性伸缩 一、介绍二、存储架构图1.CommitLog2.ConsumeQueue3.IndexFile 三、消息读写流程1.写入流程1.1 获取Topic元数据1.2 消息投递1.3 消息写入 2.读取流程2.1 获取Topic元数据2.2 消息拉取2.3 消息消费 四、消息持久化1.页缓存2.刷盘2.1 同步刷盘2.2 异步刷盘 五、集…

大路灯哪个牌子好?不同价位“卷王”级别大路灯推荐

身为一名专业的测评员&#xff0c;多年来见过很多因错用不专业大路灯而伤眼的案例&#xff0c;像眼睛疲劳、视力下降等很是普遍。大路灯本是备受用户喜爱的照明工具&#xff0c;之所以存在伤眼的负面争议&#xff0c;各类不专业产品就是罪魁祸首!它们的问题可不仅仅是选用材料差…