mybatisplus多层级查询
时间: 2023-09-25 11:09:57 浏览: 90
MybatisPlus可以通过resultMap定义级联查询来实现多层级查询。在实体类上使用注解指定需要级联查询的属性,并在调用MybatisPlus提供的CRUD操作或条件查询器时,自动完成级联查询。
例如,对于一对一级联查询,可以在实体类上使用注解指定需要级联查询的属性,并通过调用公共映射器方法来完成查询。可以使用类似以下的代码进行测试:
```java
@RunWith(SpringRunner.class)
@SpringBootTest(classes = App.class)
public class DepartmentMapperTest {
@Resource
private DepartmentMapper departmentMapper;
@Test
public void selectOne(){
Department department = departmentMapper.selectById(203);
System.out.println(department);
}
@Test
public void list(){
List<Department> departments = departmentMapper.selectList(null);
System.out.println(departments);
}
}
```
对于一对多级联查询,同样可以在实体类上使用注解指定需要级联查询的属性,并通过调用公共映射器方法来完成查询。可以使用类似以下的代码进行测试:
```java
@RunWith(SpringRunner.class)
@SpringBootTest(classes = App.class)
public class DoctorMapperTest {
@Resource
private DoctorMapper doctorMapper;
@Test
public void findById(){
Doctor doctor = doctorMapper.selectById(1);
System.out.println(doctor.getDepartmentBean());
System.out.println(doctor);
}
@Test
public void testListAssociate(){
List<Doctor> list = doctorMapper.selectList(new QueryWrapper<>());
list.forEach(System.out::println);
}
}
```
通过以上测试代码,可以实现多层级的查询操作。
阅读全文