关于mybatis中collection一对多关联查询分页出错问题总结

本文总结了在使用Mybatis进行数据分页查询时,遇到的一对多关联查询导致分页结果错误的问题。通过实例展示了当使用collection进行关联时,如何修正查询语句,以确保分页正确。最终提供了正确的查询方法,使得查询结果符合分页需求。
摘要由CSDN通过智能技术生成

在使用mybatis作为数据分页查询的时候,如果使用了collection进行一对多关联的时候有可能出现分页不正确的问题:

以下是两个实体类,老师类 和班级类,一个老师可以对应多个班级(暂假设为为一对多的关系)

1.老师类

 

import java.util.List;

/*老师*/
@Data
@Getter
@Setter
public class Teacher {
       private Long id;
       private String name;
       private Integer age;
       private List<Group> groupList;
}

 

数据库数据:

1    张小花老师    24
2    李戴莫老师    26
3    王敖明老师    55
4    周小玲老师    45
5    周涛老师    33

 

 

2.班级类

 

/*班级*/
@Data
@Getter
@Setter
public class Group {
       private Long id;
       private String name;
       private Integer number;
       //private List<Student> student;
}

 

数据库数据:

3    花桥河高一(4)班    44    2
4    花桥河高一(5)班    38    3
5    花桥河高一(6)班    38    4
6    花桥河高一(7)班    38    1
7    花桥河高一(8)班    38    1
8    花桥河高一(8)班    38    5

 

TeacherMapper.xml类

 

<mapper namespace="com.oasis.test.mapper.TeacherMapper">
    <resultMap id="teacherResultMap" type="com.oasis.test.entity.Teacher">
        <id column="tid" property="id"/>
        <result column="teacher_name" property="name"/>
        <result column="age" property="age"/>
        <collection property="groupList"
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiah锋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值