mybatisplus分页拦截器实现分页查询
时间: 2023-09-20 16:15:01 浏览: 84
Mybatis-Plus是Mybatis的增强工具,可以大大简化Mybatis的开发流程,其中包括分页查询。
Mybatis-Plus提供了一个分页拦截器PageInterceptor,可以在Mybatis执行查询之前拦截分页参数,自动添加分页SQL语句。
以下是一个简单的使用示例:
1. 添加依赖
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
```
2. 配置分页拦截器
```java
@Configuration
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor interceptor = new PaginationInterceptor();
// 设置最大单页限制数量,默认 500 条,-1 不受限制
interceptor.setLimit(1000);
return interceptor;
}
}
```
3. 使用分页查询
```java
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public Page<User> listUsers(int pageNum, int pageSize) {
Page<User> page = new Page<>(pageNum, pageSize);
return baseMapper.selectPage(page, null);
}
}
```
在这个示例中,我们使用了Mybatis-Plus提供的Page类来创建分页对象,然后调用selectPage方法来执行查询。Mybatis-Plus会自动添加分页SQL语句,并返回分页结果。
需要注意的是,我们在配置分页拦截器时可以设置最大单页限制数量,这可以防止恶意攻击或者误操作导致查询过多数据,影响系统性能。
阅读全文