创建实体bean
Teacher.java
import java.util.List;
public class Teacher {
private Integer id;
private String name;
private String className;
private List<Student> students;
// get、set方法省略
}
Student.java
public class Student {
private Integer id;
private String name;
private Integer teacherId;
private String className;
private Teacher teacher;
// get、set方法省略
}
StudentDao.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.tz.mybatis.dao.studentDao">
<!-- ///一对多的写法/// -->
<resultMap type="Teacher" id="teacherMap">
<id column="id" property="id"/>
<result column="name" property="name"/>
<collection property="students" ofType="Student" column="id">
<!-- 这里的column对应的是下面查询的别名,而不是表字段名 -->
<id column="sid" property="id"/>
<!-- property对应JavaBean中的属性名 -->
<result column="sname" property="name"/>
<result column="className" property="className"/>
</collection>
</resultMap>
<!-- 查询所有的老师级各自的所有学生 -->
<select id="getTeachers" parameterType="Teacher" resultMap="teacherMap">
SELECT
t.id,
t.NAME,
t.class_Name,
s.id AS sid,
s. NAME AS sname,
s.class_name as className
FROM
teacher t
LEFT JOIN student s ON t.id = s.teacher_id
</select>
</mapper>