mybatisplus使用lamba表达式多表查询分页
时间: 2023-07-06 13:31:09 浏览: 132
MyBatis Plus 实现多表分页查询功能的示例代码
MybatisPlus提供了LambdaQueryWrapper和LambdaUpdateWrapper来支持Lambda表达式的查询和更新操作,使用Lambda表达式可以让代码更简洁易读。
以下是使用LambdaQueryWrapper和LambdaUpdateWrapper进行多表查询和分页的示例代码:
```java
// 多表查询示例
LambdaQueryWrapper<User> userWrapper = new LambdaQueryWrapper<>();
userWrapper.eq(User::getAge, 18);
LambdaQueryWrapper<Order> orderWrapper = new LambdaQueryWrapper<>();
orderWrapper.eq(Order::getStatus, 1);
List<Map<String, Object>> result = userMapper.selectMapsPage(new Page<>(1, 10), userWrapper, orderWrapper);
// Lambda表达式分页查询示例
IPage<User> page = new Page<>(1, 10);
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getAge, 18);
IPage<User> userPage = userMapper.selectPage(page, wrapper);
List<User> userList = userPage.getRecords();
```
以上示例代码中,LambdaQueryWrapper和LambdaUpdateWrapper的使用方法与QueryWrapper和UpdateWrapper基本相同,只是在构造查询条件时使用了Lambda表达式,例如`eq(User::getAge, 18)`表示`age = 18`。
另外,在分页查询时,使用了Page和LambdaQueryWrapper的组合,通过调用`selectPage`方法可以得到分页后的结果。
阅读全文