温馨提示×

MyBatis的pagehelper怎么使用

小亿
85
2023-12-21 15:59:52
栏目: 编程语言

PageHelper是一个MyBatis的分页插件,它可以方便地实现数据库查询结果的分页功能。下面是使用PageHelper的步骤:

  1. 在项目的pom.xml文件中添加PageHelper的依赖:
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>版本号</version>
</dependency>
  1. 在MyBatis的配置文件中,添加PageHelper的插件配置:
<plugins>
    <plugin interceptor="com.github.pagehelper.PageInterceptor">
        <!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
        <property name="reasonable" value="true"/>
    </plugin>
</plugins>
  1. 在Java代码中使用PageHelper进行分页查询。首先,需要在需要分页的查询方法之前调用PageHelper的startPage方法,该方法会自动将接下来的一条查询语句进行分页。例如:
// 在查询方法之前调用startPage方法
PageHelper.startPage(pageNum, pageSize);
// 执行查询方法
List<User> users = userDao.selectUsers();

其中,pageNum表示要查询的页码,pageSize表示每页的记录数。selectUsers方法是自己定义的查询方法。

  1. 获取分页结果。查询语句执行完毕后,可以通过Page对象获取分页结果。例如:
// 获取分页结果
Page<User> page = (Page<User>) users;
// 获取总记录数
long total = page.getTotal();
// 获取当前页的记录数
int size = page.size();
// 获取总页数
int pages = page.getPages();
// 获取当前页码
int pageNum = page.getPageNum();
// 获取每页的记录数
int pageSize = page.getPageSize();
// 获取当前页的数据
List<User> userList = page.getResult();

这就是使用PageHelper进行分页查询的基本步骤。通过PageHelper,我们可以方便地实现数据库查询结果的分页功能,减少了手写分页逻辑的工作量。

0