Mybatis多表查询 |
您所在的位置:网站首页 › 学生与教师是多对多的关系吗 › Mybatis多表查询 |
需求描述 Mybatis是一个优秀的持久层框架,利用Mybatis可以实现对数据库的多表查询操作,假设有两个实体类,分别是学生实体类和课程实体类,它们之间是多对多的关系,即一个学生可以选多门课程,而一门课程可以被多个学生选择。属性如下: 学生表 字段属性类型备注studentIdint学生ID,主键studentNamevarchar学生姓名studentAgeint学生年龄课程表 字段属性类型备注courseIdint课程ID,主键courseNamevarchar课程名称中间表 字段属性类型备注sidint学生IDcidint课程ID其中主键为(学生ID+课程ID),它们又分别是外键。 数据库信息
student实体类 private int studentId; private String studentName; private int studentAge; private Listlist;studentDao接口 /** * 查询所有的学生信息,并且加上所选的课程 */ public List findAll();XML文件 select * from student left outer join sc on student.studentId=sc.sid left outer join course on course.courseId=sc.cid;测试类 @Test public void findAll(){ List list=studentDao.findAll(); for(Student student:list){ System.out.println(student); } }结果 要求二:查询所有的课程信息以及所对应所有的选修信息 course实体类 private int courseId; private List list; private String courseName;courseDao接口 /** * 查询所有的课程以及对应的选修学生信息 * @return */ public List findAll();XML文件 select * from course left outer join sc on course.courseId=sc.cid left outer join student on student.studentId=sc.sid;测试类 @Test public void findAll(){ List list=courseDao.findAll(); for(Course course:list){ System.out.println(course); } }结果 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |