Mybatis--第八节多表操作2(多对多)

A:多对多表的关系建立

1:在多表的时候,需要在多表之间加上多一个表,称改表为中间表,且改表的字段分别是多表的主键

在这里插入图片描述

B:多对多左连接查询

1:学生与老师之间就是多对多的关系,现在要查询所有的老师,以及有关联的学生,
学生和老师的domain 类如下所示,把学生查询出来的封装成List集合

在这里插入图片描述在这里插入图片描述

2:创建一个TeacherMapper,如下图所示,用List集合把查询到的老师封装成List
   集合

在这里插入图片描述

3:在TeacherMapper.xml中的查询语句是用到了2个左循环查询,因为要把查询
到的内容封装成自己设置的,所以用resultMap,<collection>是用来封装学生的
注意的是<select>中的resultMap和<collection>的id是一样的,具体如下图

在这里插入图片描述

4:最后的测试类如下所示

在这里插入图片描述
C:多对多分步查询(就是分成几步查询要自己想要的结果),这里查询的是根据老师的id查询到所教的学生,

1:在TeacherMapper中新定义一个方法,根据id查询到老师,如下图所示

在这里插入图片描述

2:在TeacherMapper.xml中就是用到分部查询的,因为是要封装的,所以还是用到<resultMap>,用collection来包含着下一个的查询语句,这里是采用引用的方式,如下图所示,查询学生的方法是反正StudentMapper里面的。column="参数"

在这里插入图片描述

3:最后的测试类

在这里插入图片描述

发布了18 篇原创文章 · 获赞 0 · 访问量 263

猜你喜欢

转载自blog.csdn.net/JULIAN__/article/details/103552715
今日推荐