先看一下表Student表
Teacher表
Student实体类:
package com.ywt.mybatisplus.model;
import lombok.Data;
import lombok.ToString;
import java.util.ArrayList;
import java.util.List;
@Data
@ToString
public class Student {
private long id;
private String sName;
private long tId;
private List<Teacher> teachers = new ArrayList<>();
}
Teacher实体类:
package com.ywt.mybatisplus.model;
import lombok.Data;
import lombok.ToString;
@Data
@ToString
public class Teacher {
private long id;
private String tName;
}
在StudentMapper中定义一个查询方法,然后在XML中进行实现
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ywt.mybatisplus.mapper.StudentMapper">
<resultMap id="studentResultMap" type="com.ywt.mybatisplus.model.Student">
<id column="id" property="id"/>
<result column="s_name" property="sName"/>
<result column="t_id" property="tId"/>
<collection property="teachers" ofType="com.ywt.mybatisplus.model.Teacher" javaType="java.util.List">
<id column="id" property="id"/>
<result column="t_name" property="tName"/>
</collection>
</resultMap>
<select id="queryAll" resultMap="studentResultMap">
SELECT
a.id AS id,
a.s_name AS sName,
b.t_name AS tName
FROM
student AS a
LEFT JOIN
teacher AS b
ON
a.t_id = b.id
WHERE 1 = 1
</select>
</mapper>
最后调用接口就可以啦!