Mybatis框架-20:多表操作之多对多——查询所有
2019-06-09 00:08
246 查看
这里我建立的多对多的关系是教师和学生之间的关系
多表之间的查询我们仍然可以使用左连接查询
第一步:mapper
教师的mapper
[code] /** * 查询老师,并把关联的学生也查出来 * @return */ List<Teacher> getAllTeacher();
第二步:mapper.xml
由于多对多其实就是双方的一对多,本质上还是可以理解为一对多关系,所以结果的封装和一对多没有太大的区别,主要是sql的不同
[code]<resultMap id="teacherMapper" type="com.ctbu.domain.Teacher"> <id property="teacherId" column="teacherId"/> <result property="teacherName" column="teacherName"/> <collection property="students" javaType="list" ofType="com.ctbu.domain.Student"> <id property="studentId" column="studentId"/> <result property="studentName" column="studentName"/> </collection> </resultMap> <select id="getAllTeacher" resultMap="teacherMapper"> SELECT * FROM teacher t LEFT JOIN teacher_student ts on t.teacherId=ts.teacherId LEFT JOIN student s on ts.studentId=s.studentId; </select>
第三步:测试类
[code]@Test public void test1(){ SqlSession session = MyUtils.openSession(); TeacherMapper teacherMapper = session.getMapper(TeacherMapper.class); List<Teacher> teachers = teacherMapper.getAllTeacher(); for (Teacher teacher : teachers) { System.out.println(teacher); } session.close(); }
相关文章推荐
- SSM框架day02-MyBatis——025——对单表的CURD操作-查询所有
- Mybatis框架-21:多表操作之多对多——分步查询
- 使用Spring Boot+MyBatis框架做查询操作
- SSM框架day02-MyBatis——026——对单表的CURD操作-查询所有结果是Map
- 使用Spring Boot+MyBatis框架做查询操作的示例代码
- SSM框架day02-MyBatis——027——对单表的CURD操作-根据id查询
- ArcGIS API for JavaScript 4.2学习笔记[20] 使用缓冲区结合Query对象进行地震点查询【重温异步操作思想】
- MyBatis入门3--基本操作:增删改+基础查询
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法](转)
- Mybatis框架学习—查询缓存与spring的整合开发
- thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
- PHP Yii 框架的数据库操作笔记 一、查询集合的方法
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR模式']
- ssm框架学习---mybatis中一对多关系的查询
- maven 管理 springmvc框架 mybatis操作数据库项目搭建
- RDIFramework.NET ━ .NET快速信息化系统开发框架 记录所有操作的Sql
- Java的MyBatis框架中实现多表连接查询和查询结果分页
- Mybatis持久层框架环境搭建,加简单查询,插入数据
- MyBatis:查询所有结果是Map
- springmvc+mybatis框架下,写通用的操作,删除等的操作