目录
二、多对一的注解查询
1.多对一立即加载查询
①.StudentDao接口的方法编写
@Select(" SELECT student.*,teacher.Tname FROM student LEFT JOIN teacher on student.t_id = teacher.id")
@Results(value = {
@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"),
@Result(property = "teacher.Tname",column = "Tname")
})
public List<Student> getStudent();
②.进行测试
@Test
public void getStudent(){
List<Student> student = mapper.getStudent();
for (Student student1:student) {
System.out.println(student1.toString());
}
}
2.多对一延迟加载查询
①.StudentDao接口的方法编写
@Select("select * from student")
@Results(value = {
@Result(property = "id",column = "id"),
@Result(property = "Sname",column = "Sname"),
@Result(property = "sex",column = "sex"),
@Result(property = "age",column = "age"),
@Result(property = "teacher",column = "t_id",one=@One(select = "com.qcby.dao.TeacherDao.getTeacher",fetchType = FetchType.LAZY))
})
public List<Student> getStudent();
②.TeacherDao接口的方法编写
@Select("select * from teacher where id = #{t_id}")
Teacher getTeacher(Integer id);
③.进行测试
@Test
public void getStudent(){
List<Student> student = mapper.getStudent();
for (Student student1:student) {
System.out.println(student1.toString());
}
}