使用在service继承iservice实现类继承serviceimpl,mapper接口继承baseMapper的情况下如何使用mybatis-plus进行条件分页查询
时间: 2024-02-11 14:08:58 浏览: 167
可以按照以下步骤使用 Mybatis-Plus 进行条件分页查询:
1. 在 ServiceImpl 类中注入 Mapper 对象:
```java
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
// 省略其他代码
@Autowired
private UserMapper userMapper;
}
```
2. 在 Controller 类中调用 ServiceImpl 类的方法,并传入分页参数和查询条件:
```java
@GetMapping("/users")
public Page<User> getUsers(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
@RequestParam(value = "name", required = false) String name) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
if (StringUtils.isNotBlank(name)) {
wrapper.like("name", name);
}
Page<User> page = new Page<>(pageNum, pageSize);
return userMapper.selectPage(page, wrapper);
}
```
在上述代码中,我们使用 QueryWrapper 对象封装查询条件,然后创建 Page 对象封装分页参数,最后调用 selectPage 方法进行查询。其中,selectPage 方法的第一个参数是 Page 对象,第二个参数是 QueryWrapper 对象,表示根据查询条件进行分页查询。如果查询条件为空,则不添加查询条件。
需要注意的是,在 ServiceImpl 类中注入的 Mapper 对象必须是继承自 BaseMapper 接口的,否则不能使用 Mybatis-Plus 提供的分页查询方法。
阅读全文