复杂查询
使用resultMap
映射,官网例子
多对一处理
多个学生 —— 一个老师,有学生表和教师表,学生表的tid
是教师表的外键
public class Student {
private int id;
private String name;
private Teacher teacher;
}
public class Teacher {
private int id;
private String name;
}
如果只是对 Student表 查询是无法将Teacher
的数据读出
结果嵌套查询(推荐)
在resultMap
中嵌套result
(效率要比子查询要高)
- 先写出查询的sql语句,最好先起别名(在起别名之后,在
column
中都需要使用对应别名) - 在
resultMap
的外层result
中一一写出对应的属性和字段 - 在
association
中写入对应的属性和 javaBean - 在内层的
result
中是另一张表所需要的属性和字段
<select id="selectStudentList02" resultMap="studentTeacher02">
select s.id as sid,s.name as sname,t.name as tname
from student s ,teacher t
where s.tid = t.id;
</select>
<resultMap id="studentTeacher02" type="com.kayden.pojo.Student">
<result property="id" column="sid" />
<result property="name" column=</