**Mybatis的数据关系模式(1) 多对一**
实体类
@Data
@Data
public class Student {
private Integer id;
private String name;
//学生要关联一个老师
private Teacher teacher;
public Student(){
}
public Student(Integer id,String name){
}
}
@Data
public class Teacher {
private Integer id;
private String name;
public Teacher(){
}
public Teacher(Integer id,String name){
}
}
mapper.xml文件配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yin.mapper.StudentMapper">
<!-- 按照结果嵌套进行查询-->
<select id="getTeacher" resultType="Teacher">
select * from teacher where id=#{id};
</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"/>
</resultMap>
<select id="getStudent" resultMap="StudentTeacher">
select * from student;
</select>
<!-- 按照结果集进行查询-->
<select id="getStudent2" resultMap="StudentTeacher2">
select * from student s,teacher t where s.tid =t.id;
</select>
<resultMap id="StudentTeacher2" type="Student">
<result property="id" column="id"></result>
<result property="name" column="name"></result>
<association property="teacher" javaType="Teacher">
<result property="id" column="id"></result>
<result property="name" column="name"></result>
</association>
</resultMap>
</mapper>