Mybatis 返回List嵌套
应用场景:
例如:
1.返回班级列表,每个班级中又包含学生列表。
2.树形下拉框
1、实体类
public class Student {
private int studentId;
private String name;
private String sex;
private String number;
}
public class Grade {
private int gradeId;
private String gradeName;
private String gradeNumber;
private List<Student> studentList;
}
2、Mapper
<resultMap id="gradeAndStudentList" type="com.lt.pojo.Grade">
<id column="id" property="gradeId"/>
<result column="grade_name" property="gradeName"/>
<result column="grade_number" property="gradeNumber"/>
<collection property="studentList" ofType="com.lt.pojo.Student">
<id column="id" property="studentId"/>
<result column="name" property="name"/>
<result column="sex" property="sex"/>
<result column="number" property="number"/>
</collection>
</resultMap>
<select id="queryGradeAndStudentList" resultMap="gradeAndStudentList">
SELECT
g.id AS gradeId,
g.grade_name,
g.grade_number,
s.id AS studentId,
s.name ,
s.sex ,
s.number
FROM grade g
LEFT JOIN student s ON g.id = s.grade_id
GROUP BY g.id
</select>
3、返回类型
方法用List<Grade>
接收返回结果
例如:
public List<Grade> queryGradeAndStudentList(StudentReq req)