前一篇MyBatis****查询员工表Emp信息,员工表里面包含部门信息,以及上级领导的信息
里面都是一个员工有一个部门,有一个上级领导(总裁除外),我们关联查询使用的是

那么现在问题来了,如果要这样显示呢?
MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)也就是说,查询班级表t_clazz的信息,同时查询该门课程下面的学生信息(学生信息在t_student表中),学生表里有班级的编号cid。
MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)下面是IDEA关联数据库,IDEA真的是神器,强烈安利使用!效率很高。
班级表(t_clazz):
MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)学生表t_student:
MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)MyBatis-****自动生成的pojo、mapper它是只能对单表做操作的,对于关联查询以及其他的查询,如果我们需要的话,还是得手写,也就是没有条件,创造条件。

步骤:

1、因为要查询班级信息,同时还要知道这个班级里面有多少个学生信息,我们同样也需要在Clazz的实体类中添加一个学生集合的成员变量
MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)
我们在之前那篇文章里面说过,尽量不要修改自动生成的实体类Pojo,因为可能会影响其他的操作,那我们可以使用继承,让Clazz2继承Clazz,这样我们就有了集合成员变量,也不会修改之前的实体类。
这是MyBatis****生成的实体类

MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)我们继承它:
MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)下面在MyBatis-****自动生成映射文件的接口方法中,添加查询的方法
MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)在映射文件中书写我们的查询语句:
MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)这里需要注意的两点:
MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)因为MyBatis-****自动生成的只能通过主键查询,或者传递参数的selectByExample查询,如果这样写:
MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)给我报错了:
MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)我们需要自定义方法,也就是这个方法
MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)
MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)这样我们的数据就能查询到了,然后通过作用域存入,这样就可以在前台页面通过JSTL和EL进行展示:
MyBatis-****学习之——关联查询班级信息(一个班级有多个学生的信息集合List)总结:MyBatis一定要熟练使用,还有****也是一定要熟练使用,IDEA也要好好利用好,真的是个神器啊。

相关文章:

  • 2021-11-12
  • 2021-12-09
  • 2021-11-20
  • 2022-12-23
  • 2021-05-17
  • 2022-12-23
  • 2021-05-08
  • 2021-08-12
猜你喜欢
  • 2022-12-23
  • 2021-09-23
  • 2022-01-23
  • 2021-10-31
  • 2021-08-21
  • 2021-09-21
相关资源
相似解决方案