MyBatis如何实现多表查询(一对一、一对多)

目录

方式一:sqlMapper配置文件

        需要在sql语句中写多表联查

 一对一:在resultMap标签中使用 association 标签

        一对多:在resultMap 标签中使用collection 标签

方式二:注解

        一对一:在@Results 注解中的@Result注解中使用@One注解

            一对多:在@Results 注解中的@Result 注解中使用@Many注解


在MyBatis中我们如何使用多表联查这个功能获得我们想要的数据?

        其中有两种方式为我们实现数据的获取!

方式一:sqlMapper配置文件

        需要在sql语句中写多表联查

1.我们需要创建两个类,并配置两个类的关系!

一个课程会有一个老师去上课

一个老师可以上多个课程,比如我们大山里的孩子他们所有课程就是一个老师上的!

 然后我们配置Mapper文件!

 一对一:在resultMap标签中使用 association 标签

 

      

        一对多:在resultMap 标签中使用collection 标签

 其中我们的SQL语句也要写正确哦!

这下我们就得到了想要的数据了。

 

方式二:注解

        最开心的!不需要再sql语句中写多表联查!!!!!

       提供需要的映射的数据接口方法

        一对一:在@Results 注解中的@Result注解中使用@One注解

@One(select = "com.ape.mapper.CourseMapper.finAllCourse")对应的映射mapper文件中的finAllCourse方法

 通过Cid的传入获取对应的课程信息

 测试!

            一对多:在@Results 注解中的@Result 注解中使用@Many注解

 一个班级对应多个学生同理我们根据classID

 测试

 

这样我们就获得了一个班级多个学生的信息!


版权声明:本文为m0_68885781原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。