一、创建表
学生表:
教师表:
二、分步查询
SELECT s.id,s.Sname,t.Tname FROM student s,teacher t where s.t_id = t.id
①:设置实体类
public class Student {
private Integer id;
private String Sname;
private String sex;
private Integer age;
private Integer t_id;
//这个是重点
private Teacher teacher;
}
public class Teacher {
private Integer id;
private String Tname;
}
②:查询语句;在studentMapper.xml当中设置分步查询
<select id = "getStudent" resultMap="StudentTeacher">
select * from student;
</select>
<resultMap id="StudentTeacher" type="com.qcby.entity.Student">
<result property="id" column="id"/>
<result property="Sname" column="Sname"/>
<result property="sex" column="sex"/>
<result property="age" column="age"/>
<result property="t_id" column="t_id"/>
<association property="teacher" column="t_id" javaType="com.qcby.entity.Teacher" select="com.qcby.mapper.TeacherMapper.getTeacher"/>
</resultMap>
③配置studentMapper
Student getStudent();
④在TeacherMapper.xml当中设置关于教师的查询
<select id="getTeacher" resultType="com.qcby.entity.Teacher" parameterType="java.lang.Integer">
select * from teacher where id = #{t_id}; <!-- #{id}; 可以写任何东西,因为会自动匹配 t_id -->
</select>
⑤配置TeacherMapper
Teacher getTeacher(Integer id);
测试: