PageHelper怎么实现分页
时间: 2023-05-26 10:06:47 浏览: 106
PageHelper是一个开源的分页插件,可以集成在MyBatis等ORM框架中。以下是使用PageHelper实现分页的步骤:
1. 引入PageHelper插件
在maven的pom.xml文件中添加PageHelper的依赖:
```
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.8</version>
</dependency>
```
2. 配置PageHelper插件
在MyBatis的配置文件中添加如下配置:
```
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<property name="dialect" value="mysql"/>
</plugin>
</plugins>
```
注意:dialect属性值需要根据数据库类型进行设置,目前支持mysql、oracle、mssql、postgresql、db2、sqlite等数据库。
3. 使用PageHelper进行分页查询
在MyBatis的Mapper接口中定义分页查询的方法,如下所示:
```
public interface UserMapper {
List<User> selectAll();
List<User> selectByPage(int pageNum, int pageSize);
}
```
通过调用PageHelper.startPage(pageNum, pageSize)方法来启动分页插件,然后再进行查询操作,如下所示:
```
public List<User> selectByPage(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
return userMapper.selectAll();
}
```
4. 使用PageInfo对象获取分页信息
通过查询返回的List对象创建一个PageInfo对象,可以获取当前页码、总页数、总记录数等信息,如下所示:
```
List<User> userList = userService.selectByPage(1, 10);
PageInfo<User> pageInfo = new PageInfo<>(userList);
System.out.println("当前页码:" + pageInfo.getPageNum());
System.out.println("总记录数:" + pageInfo.getTotal());
System.out.println("总页数:" + pageInfo.getPages());
```
注意:PageInfo类的泛型需要设置为查询结果的类。
阅读全文