Mybatis Plus多表关联查询分页。
时间: 2023-07-24 21:38:56 浏览: 96
多表联合分页查询(Mybatis注解).zip_9AB_mybatis_skillwoc_全注解_多表关联分页查询
Mybatis Plus多表关联查询分页可以通过使用Mybatis Plus提供的Wrapper类来实现。以下是一个示例:
```java
Page<User> page = new Page<>(1, 10);
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("role_id", roleId);
wrapper.orderByDesc("create_time");
IPage<User> userPage = userMapper.selectPage(page, wrapper);
List<User> userList = userPage.getRecords();
```
在以上示例中,我们使用了QueryWrapper来构建查询条件,其中eq表示等于,orderByDesc表示按照create_time字段进行降序排序。然后我们调用了Mybatis Plus提供的selectPage方法来进行分页查询,其中第一个参数是Page对象,表示查询的分页信息,第二个参数是Wrapper对象,表示查询的条件。最后我们可以通过getRecords方法获取查询结果。
在多表关联查询时,我们可以使用Mybatis Plus提供的LambdaQueryWrapper类来进行条件构造,例如:
```java
LambdaQueryWrapper<User> wrapper = Wrappers.lambdaQuery();
wrapper.eq(User::getRoleId, roleId)
.orderByDesc(User::getCreateTime);
IPage<User> userPage = userMapper.selectPage(page, wrapper);
```
以上示例使用了LambdaQueryWrapper来构造查询条件,其中eq表示等于,orderByDesc表示按照create_time字段进行降序排序。然后我们调用了Mybatis Plus提供的selectPage方法来进行分页查询,其中第一个参数是Page对象,表示查询的分页信息,第二个参数是Wrapper对象,表示查询的条件。最后我们可以通过getRecords方法获取查询结果。
需要注意的是,在多表关联查询时,我们需要使用Mybatis Plus提供的@TableName和@TableField注解来指定表名和字段名,以便Mybatis Plus能够正确地生成SQL语句。另外,在查询结果中,我们可以通过使用Mybatis Plus提供的@Result注解来指定实体类中的属性和查询结果中的字段的映射关系。
阅读全文