MyBatis框架的 resultMap(自连接,一对多,多对多)映射

本文详细介绍了如何在MyBatis中使用resultMap处理自连接、一对多和多对多的映射关系。通过具体的SQL查询和resultMap配置,展示了在教师、学生和关联表之间多对多映射的实现,以及在部门和员工之间的一对多映射。同时,讲解了自连接查询的概念,提供了一个递归查询的示例,强调了在resultMap中使用collection和select属性的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多对多
在这个多对多的映射中,是通过3个表进行的连接,其实剖析内层还是一对多的关系,只是多添加一个表,把彼此的关系填上,根据id
进行的查询 ,映射。
首先我们的表结构是 学生表,教师表,还有一个关联表

首先1个老师可以教多个学生,一个学生也可以被多老师教,所以个表的关系是1号老师教1号和2号学生
1号 学生也可以被1号2号老师教。
对于这个多对多的映射 我们首先要有和思路就是
他返回的是一个对象 我们查的是老师的表,所有我们的实体类在老师表中有一个关联学生表的列
private Student stu;并把他们set出来
接下来我们知道了他的接口中方法应该写成public Teacher teacherbystudentid(int tid);并且是根据老师的id查的
接下来是小配置,在小配置中是我们最麻烦的地方,我们需要用resultMap映射
我们首先要链表查询 根据老师id查询出对应的学生名字  如下是查询语句。。。。。
然后我们返回的类型是resultMap并在里面写对于的表结构
如:id  name。。。。
首先是Teacher表的映射 返回的类型是Teacher,然后我们在里面用collection进行嵌套 的写 把Student表的列写出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值