环境配置
![](https://i-blog.csdnimg.cn/blog_migrate/711c53ab607a4dd4129d1e811b202fdf.png)
pojo
@Data
public class Student {
private int id;
private String name;
//学生关联一个老师
private Teacher teacher;
}
@Data
public class Teacher {
private int id;
private String name;
}
接口方法
public interface StudentMapper {
//查询所有的学生的信息,以及对应的老师的信息
public List<Student> getStudents();
public List<Student> getStudents2();
}
方式一
<!--方法一 按照查询嵌套处理-->
<select id="getStudents" resultMap="StudentTeacher">
select * from student
</select>
<resultMap id="StudentTeacher" type="Student">
<!--复杂属性的处理-->
<association property="teacher" column="tid" javaType="Teacher" select="getTeacher"/>
</resultMap>
<select id="getTeacher" resultType="Teacher">
select * from teacher where id =#{id}
</select>
方式二(推荐)
<!--方法二 按照结果嵌套处理-->
<select id="getStudents2" resultMap="StudentTeacher2">
select s.id sid,s.name sname,t.name tname
from student s, teacher t
where s.tid=t.id;
</select>
<resultMap id="StudentTeacher2" type="Student">
<result property="id" column="sid"/>
<result property="name" column="sname"/>
<!--对应属性teacher-->
<association property="teacher" javaType="Teacher">
<result property="name" column="tname"/>
</association>
</resultMap>