15-多对多做左连接查询(查询老师,并且把关联的学生也查出来)
多对多左连接查询
目录
- 左连接查询
老师对学生是多对多的关系,把中心放在老师上,一个老师可以教多个学生,实际上老师对学生也可以理解为一对多的关系。
左连接查询
@Getter@Setter@ToString
public class Teacher {private Integer teacher_id;private String teacher_name;List<Student> students = new ArrayList<>(); // 一个老师对应多个学生
}
public interface TeacherMapper {/*查询老师,并且把关联的学生也查出来*/public List<Teacher> getAllTeachers();
}
<mapper namespace="com.itlike.mapper.TeacherMapper"><select id="getAllTeachers" resultMap="teacherMap">SELECT * FROM `teacher` as tLEFT JOIN `stu_teacher_rel` as rON t.teacher_id = r.teacher_idLEFT JOIN `student` as sON s.stu_id = r.stu_id;</select><resultMap id="teacherMap" type="teacher"><id column="teacher_id" property="teacher_id"/><result column="teacher_id" property="teacher_id"/><collection property="students" javaType="list" ofType="student"><id column="stu_id" property="stu_id"/><result column="stu_name" property="stu_name"/></collection></resultMap></mapper>
public void test(){SqlSession sqlSession = MybatisUtils.openSession();TeacherMapper teacherMapper = sqlSession.getMapper(TeacherMapper.class);List<Teacher> allTeachers = teacherMapper.getAllTeachers();for (Teacher teacher : allTeachers) {System.out.println(teacher);}}
15-多对多做左连接查询(查询老师,并且把关联的学生也查出来)相关推荐
- 【MyBatis笔记】17-多对多做左连接查询(查询老师,并且把关联的学生也查出来)
多对多左连接查询 左连接查询 老师对学生是多对多的关系,把中心放在老师上,一个老师可以教多个学生,实际上老师对学生也可以理解为一对多的关系. 左连接查询 场景:查询老师,并且把关联的学生也查出来. T ...
- mysql查询每个老师对应的所有学生_practice02_数据库02----查询所有学生的学号, 姓名, 选课数, 总成绩...
1. 首先建立数据表 建立四张数据表(, 成绩表(score)) 1. 学生表(students) 1.学生id ---- s_id 2. 学生姓名 ---- s_name 3. 学生生日 - ...
- 03 mysql数据查询_MySql学习day03:数据表之间的连接、查询详解
主键: 关键字:primary key 特点:不能为null,并且唯一. 主键分类: 逻辑主键:例如ID,不代表实际的业务意义,只是用来唯一标识一条记录(推荐) 业务主键:例如username,参与实 ...
- mysql左连接去重查询_mysql之单表查询、多表查询
mysql查询 单表查询 """ 增: insert [into] [数据库名.]表名[(字段1[,...,字段n])] values (数据1[,...,数据n])[, ...
- 关于一对多,多对多的多表查询的控制
一.一对多 以班级Classes和学生Student为例: 回忆sql语句: //内链接,两种方式效果一样,查询的是两边都有的数据 SELECT c.*,s.* FROM classes c,stud ...
- 在左表或右表的连接字段上建立索引对左、内连接的查询效率的优化情况分析
-- 1.建表 drop table if exists dept_tbl;create table dept_tbl (rcrd_id int unsigned primary key auto_i ...
- 查询选修“张三“老师所授课程的学生中,成绩最高的学生信息及其成绩
#每天进步一点点# MySQL 查询选修"张三"老师所授课程的学生中,成绩最高的学生信息及其成绩 1.以名字查出t_id SELECT t_id FROM teacher WHER ...
- mysql查询不同老师所教不同课程_mysql数据库面试题(学生表_课程表_成绩表_教师表)...
Student(Sid,Sname,Sage,Ssex)学生表 Sid:学号 Sname:学生姓名 Sage:学生年龄 Ssex:学生性别 Course(Cid,Cname,Tid)课程表 Cid:课 ...
- mysql查询不同老师所教不同课程_MySQL学生表、老师表、课程表和成绩表查询语句,全部亲测...
建表可自行百度,重点为查询: 一.数据准备: 1.student学生表数据: 2.teacher老师表数据: 3.course课程表数据: 4.score成绩表数据: 二.数据查询 1.查询平均成绩大 ...
最新文章
- 例4-1和例4-2和例4-3
- nagios配置监控的一些思路和工作流程
- Count The Repetitions
- hive 自定义元数据表_[一起学Hive]之十四-Hive的元数据表结构详解
- win7开机提示服务器正在运行,科技常识:win7电脑启动ie浏览器提示服务器正在运行的处理方法...
- ABP vNext微服务架构详细教程——简介
- 并非最边界的情况“OK“就真的“OK“(记洛谷P1720WA的经历,Java语言描述)
- android h5语音,html5录音支持pc和Android、ios部分浏览器,微信也是支持的,JavaScript getUserMedia...
- (1)散列表(哈希表)的定义
- VUE3组合api的钩子函数生命周期
- css animate属性spend不生效
- 遍历循环的高级用法(好简单...)
- 基于Spring Boot 的统一错误处理
- 电脑一开机内存(共8G)就用了70%以上,任务管理器里面查看没有占用内存很高的进程
- PAT甲级1141 Ranking of Institutions
- Anroid 开发so文件找不到问题-例高德地图SDK提示com.autonavi.amap.mapcore.MapCore.nativeNewInstance问题
- 微信超级更新!电脑上也能刷朋友圈了!
- 基于JAVA大众点评管理系统计算机毕业设计源码+系统+lw文档+部署
- 波士顿动力SpotMini改造有胳膊半人马,这家意大利创企打造极致机械手臂
- 基于SpringBoot+Vue手表电商销售系统的设计与实现