Mybatis 一对一 关系查询(分步查询)
一、创建表
学生表: 教师表:
二、分步查询
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);
测试:
下一篇:
python打印九九乘法表五种方法