本文共 4220 字,大约阅读时间需要 14 分钟。
对学生而言:多个学生关联一个老师
CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO teacher(`id`, `name`) VALUES (1, '秦老师'); INSERT INTO teacher(`id`, `name`) VALUES (2, '沈老师'); CREATE TABLE `student` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, `tid` INT(10) DEFAULT NULL, PRIMARY KEY (`id`), KEY `fktid` (`tid`), CONSTRAINT `fktid` FOREIGN KEY (`tid`) REFERENCES `teacher` (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('1', '小明', '1'); INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('2', '小红', '2'); INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('3', '小张', '1'); INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('4', '小李', '2'); INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('5', '小王', '1');
org.projectlombok lombok 1.18.16
Teacher
@Datapublic class Teacher { private int id; private String name;}
Student
@Datapublic class Student { private int id; private String name; //每个学生都需要关联一个老师,所以在每个学生里面都有一个老师对象 private Teacher teacher;}
//StudentMapperpublic interface StudentMapper { //查询所有学生的信息和老师的名字 ListgetStudent();}
//TeacherMapperpublic interface TeacherMapper { Teacher gerTeacher( int id);}
测试
@Test public void getStudent(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); StudentMapper mapper = sqlSession.getMapper(StudentMapper.class); ListstudentList = mapper.getStudent(); for (Student student : studentList) { System.out.println(student); } sqlSession.close(); }
测试
@Test public void getStudent2(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); StudentMapper mapper = sqlSession.getMapper(StudentMapper.class); ListstudentList = mapper.getStudent2(); for (Student student : studentList) { System.out.println(student); } sqlSession.close(); }
对老师而言:一个老师拥有多个学生
环境搭建除了实体类不一样,其他和一对多一样
Teacher
@Datapublic class Teacher { private int id; private String name; //一个老师拥有多个学生 private Liststudents;}
Student
@Datapublic class Student { private int id; private String name; private int tid;}
//获取指定老师下的所有学生及老师的信息 Teacher getTeacher(@Param("tid") int id);
测试
@Test public void getTeacher(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); TeacherMapper mapper = sqlSession.getMapper(TeacherMapper.class); Teacher teacher = mapper.getTeacher(1); System.out.println(teacher); sqlSession.close(); }
//获取指定老师下的所有学生及老师的信息 Teacher getTeacher2(@Param("tid") int id);
测试
@Test public void getTeacher2(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); TeacherMapper mapper = sqlSession.getMapper(TeacherMapper.class); Teacher teacher = mapper.getTeacher(1); System.out.println(teacher); sqlSession.close(); }
总结:
转载地址:http://swlv.baihongyu.com/