实体:班级 BanJi 学生 Student
班级表:
学生表:
多对一:根据班级id来查找班级下的学生们
学生:
public class Student {
private int id;
private String name; //学生姓名
private String sex; //学生性别
private BanJi banJi;
班级:
public class BanJi {
private int id;
private String className; //班级名
private String teacher; //老师
mapper映射:
<!-- 根据班级id来查找班级下的学生们 多对一-->
<resultMap type="com.java1234.entity.Student" id="StudentsMap">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="sex" property="sex"/>
<association property="banJi" javaType="com.java1234.entity.BanJi">
<id column="class_id" property="id"/>
<result column="className" property="className"/>
<result column="teacher" property="teacher"/>
</association>
</resultMap>
<select id="getStudents" parameterType="int" resultMap="StudentsMap">
SELECT student.*,class.id class_id,class.className,class.teacher from student,class where student.classId=class.id and student.classId=#{id}
</select>
一对多:<!-- 根据学生id找到对应的班级 一对多 -->
学生:
public class Student {
private int id;
private String name; //学生姓名
private String sex; //学生性别
private BanJi banJi;
班级:
public class BanJi {
private int id;
private String className; //班级名
private String teacher; //老师
private List<Student> list;
mappers映射:
<!-- 根据学生id找到对应的班级 一对多 -->
<resultMap type="com.java1234.entity.BanJi" id="classMap">
<id column="id" property="id"/>
<result column="className" property="className"/>
<result column="teacher" property="teacher"/>
<collection property="list" ofType="com.java1234.entity.Student">
<id column="stu_id" property="id"/>
<result column="name" property="name"/>
<result column="sex" property="sex"/>
</collection>
</resultMap>
<select id="getClassxx" parameterType="int" resultMap="classMap">
SELECT class.*,student.id stu_id,student.name,student.sex from student,class where student.classId=class.id and class.id=#{id}
</select>
测试:
/**
* 根据班级id来查询所属的学生们
*/
@RequestMapping("getStudents")
public String getStudents(){
System.out.println("==进入查找班级下的学生处理=");
List<Student> listStudent=classService.getStudents(1);
for(int i=0;i<listStudent.size();i++){
System.out.println("查询的学生对象为=="+listStudent.get(i));
}
return null;
}
/**
* 根据学生查询班级
*/
@RequestMapping("getClass")
public String getClassxx(){
System.out.println("==进入查找班级的处理=");
BanJi banji=classService.getClassxx(1);
System.out.println("班级==="+banji);
List<Student> listStudent=banji.getList();
for(int i=0;i<listStudent.size();i++){
System.out.println("查询的学生对象为=="+listStudent.get(i));
}
return null;
}