MybatisPlus中的分页查询怎么写
时间: 2024-12-08 10:16:49 浏览: 19
在MyBatisPlus(MBP)中,分页查询通常使用`PageHelper`进行处理。这是一个非常方便的工具包,它封装了Spring Data风格的分页查询API,使得在MBP中进行分页操作变得更加简单。以下是如何使用`PageHelper`进行分页查询的基本步骤:
1. 首先,在你需要进行分页查询的地方导入依赖:
```java
import com.baomidou.mybatisplus.extension.plugins.PageHelper;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
```
2. 注册插件到全局配置中,如果你使用的是Spring Boot并启用MyBatis Plus,这通常会在`mybatis-plus-boot-starter`自动完成。如果没有,你需要添加`PaginationInterceptor`到`SqlSessionFactoryBuilder`的拦截器列表中:
```java
@Bean
public SqlSessionFactory sqlSessionFactory(MybatisSqlSessionFactoryBean mybatisSqlSessionFactoryBean) {
mybatisSqlSessionFactoryBean.setGlobalConfig((MybatisConfiguration) mybatisSqlSessionFactoryBean.getConfiguration()
.addInterceptor(new PaginationInterceptor()));
return mybatisSqlSessionFactoryBean.getObject();
}
```
3. 当你想执行分页查询时,注入`PageHelper`实例并调用其方法:
```java
private final PageHelper pageHelper;
public void doPageQuery(@NonNull ListMapper<YourEntity> mapper, int pageNum, int pageSize) {
IPage<YourEntity> page = pageHelper.startPage(pageNum, pageSize);
// 查询数据
List<YourEntity> entities = mapper.selectList(null); // 如果你的查询不需要额外条件,传入null
pageHelper.endPage(page);
// 获取总记录数
long total = page.getTotal();
// 分页数据处理
// ...
}
```
这里的`pageNum`表示第几页,`pageSize`为每页的数量。
阅读全文