mybatis-plus一对多关联查询
时间: 2024-05-28 10:07:03 浏览: 127
MyBatis-Plus是一款MyBatis的增强工具,它提供了很多实用的功能,比如一对多的关联查询。在MyBatis-Plus中,一对多的关联查询可以通过使用@TableName注解和@TableField注解来实现。
假设我们有两张表,一张是学生表,另一张是课程表,一个学生可以选多门课程,那么我们就可以用一对多关联查询来查询某个学生选的所有课程。
首先,在学生表中定义一个属性List<Course> courses,并使用@TableField注解将该属性与课程表的外键关联起来:
```
public class Student {
@TableId
private Long id;
private String name;
@TableField(exist = false)
private List<Course> courses;
}
```
然后,在课程表中定义一个属性Long studentId,并使用@TableField注解将该属性与学生表的主键关联起来:
```
public class Course {
@TableId
private Long id;
private String name;
@TableField("student_id")
private Long studentId;
}
```
最后,我们使用MyBatis-Plus提供的wrapper类进行关联查询:
```
QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("id", studentId);
List<Student> students = studentMapper.selectList(queryWrapper);
for (Student student : students) {
QueryWrapper<Course> courseQueryWrapper = new QueryWrapper<>();
courseQueryWrapper.eq("student_id", student.getId());
List<Course> courses = courseMapper.selectList(courseQueryWrapper);
student.setCourses(courses);
}
```
以上就是MyBatis-Plus实现一对多关联查询的方法。如果您还有其他问题或需要进一步的帮助,请随时提出。
阅读全文