mybatisplus pageHelper分页查询 demo
时间: 2024-10-30 17:05:35 浏览: 30
完美解决MybatisPlus插件分页查询不起作用总是查询全部数据问题
MyBatisPlus PageHelper是一个轻量级的分页插件,它简化了在MyBatis中进行分页查询的操作。下面是一个简单的PageHelper分页查询的Demo示例:
首先,你需要在你的项目中引入MyBatisPlus和PageHelper依赖。
```xml
<!-- 添加mybatis-plus的依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<!-- 版本号根据实际情况更新 -->
<version>3.5.0</version>
</dependency>
<!-- 添加pagehelper的依赖 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<!-- 版本号根据实际情况更新 -->
<version>5.4.0</version>
</dependency>
```
然后,在Mapper接口中添加分页查询的方法,假设我们有一个User实体类和对应的UserMapper接口:
```java
public interface UserMapper {
List<User> listPage(PageHelper.PageInfo params); // 定义分页查询方法,params是PageHelper提供的PageInfo对象
}
```
接下来,在Service层中调用这个方法并设置分页条件:
```java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.PageHelper;
import com.baomidou.mybatisplus.extension.service.IQueryService;
@Service
public class UserService extends ServiceImpl<UserMapper, User> {
public PageResult<User> queryPage(int pageNum, int pageSize) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
// 设置查询条件...
PageHelper.startPage(pageNum, pageSize);
return this.baseMapper.listPage(wrapper);
}
}
```
在这个`queryPage`方法中,传入的pageNum是当前页码,pageSize是每页显示的数量。PageHelper会自动处理分页和数据的获取。
阅读全文