多对一和一对多
情景
一个班里的一个老师和班里的全部学生之间的关系就是一对多或多对一
- 多个学生对应一个老师
- 对于老师而言,可以用**集合(collection)**来描述这种关系。一个老师对应着多个学生形成的集合 【一对多】
- 对于学生而言,可以用**关联(association)**来描述这种关系。多个学生通过一个老师关联在了一起 【多对一】
多对一,一对一【关联】
数据库字段
Java实体类
public class Student{
private int id;
private String name;
private Teacher teacher;
}
public class Teacher{
private int id;
private String name;
}
-
方式一:子查询
<select id="getStudent" resultMap="StudentTeacher"> select * from student </select> <resultMap id="StudentTeacher" type="Student"> <result property="id" column="id"/> <result property="name" column="name"/> <association property="teacher" column="tid" javaType="Teacher" select="getTeacher"/>