MyBatis使用PageHelper插件实现分页查询

1.引入依赖

<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper</artifactId>
	<version>5.3.1</version>
</dependency>

2.在mybatis-config.xml⽂件中配置插件

<plugins>
	<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>

3.使用方法

在查询之前开启分页功能,使用指定方法即可
方法:PageHelper.startPage(m,n) m表示第几页,n表示每页包含几条

测试案例

数据库中数据

在这里插入图片描述

java测试代码

@Test
    public void selectDeptPage(){
        SqlSession sqlSession = SqlSessionUtil.openSession();
        DeptMapper mapper = sqlSession.getMapper(DeptMapper.class);
        PageHelper.startPage(1,3);//查询第一页,一共三条
        List<Dept> depts = mapper.selectByExample(null);
        for (Dept dept : depts)
            System.out.println(dept);
        sqlSession.close();
    }

运行结果

在这里插入图片描述


以上是该插件的基本功能,但该插件的主要功能是分装一个pageinfo对象,该对象的参数有下面这些

//当前页
    private int pageNum;
 
    //每页的数量
    private int pageSize;
 
    //当前页的数量
    private int size;
 
    //由于startRow和endRow不常用,这里说个具体的用法
    //可以在页面中"显示startRow到endRow 共size条数据"
    //当前页面第一个元素在数据库中的行号
    private int startRow;
 
    //当前页面最后一个元素在数据库中的行号
    private int endRow;
    //总记录数
    private long total;
 
    //总页数
    private int pages;
 
    //结果集(每页显示的数据)
    private List<T> list;
 
    //第一页
    private int firstPage;
 
    //前一页
    private int prePage;
 
    //是否为第一页
    private boolean isFirstPage = false;
 
    //是否为最后一页
    private boolean isLastPage = false;
 
    //是否有前一页
    private boolean hasPreviousPage = false;
 
    //是否有下一页
    private boolean hasNextPage = false;
 
    //导航页码数
    private int navigatePages;
    //导航页第一页
    private int navigateFirstPage;
    //导航页第二页
    private int navigateLastPage;
 
    //所有导航页号
    private int[] navigatepageNums;

在查询语句之后封装,将来会存到request,在前端页面实现相应功能。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Mybatis是一款优秀的ORM框架,而PageHelper则是一款用于Mybatis的分页插件使用PageHelper可以方便地实现分页查询功能。具体使用方法如下: 1.在pom.xml文件中添加PageHelper的依赖。 2.在Mybatis的配置文件中添加PageHelper插件配置。 3.在Mapper接口中定义分页查询的方法,并使用PageHelper.startPage方法设置分页参数。 4.在Controller中调用Mapper接口中的分页查询方法,并将查询结果封装到PageInfo对象中返回给前端。 下面是一个示例代码: 1.在pom.xml文件中添加PageHelper的依赖: ``` <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.11</version> </dependency> ``` 2.在Mybatis的配置文件中添加PageHelper插件配置: ``` <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"> <property name="helperDialect" value="mysql"/> <property name="reasonable" value="true"/> <property name="supportMethodsArguments" value="true"/> <property name="params" value="count=countSql"/> </plugin> </plugins> ``` 3.在Mapper接口中定义分页查询的方法,并使用PageHelper.startPage方法设置分页参数: ``` List<User> getUserList(@Param("pageNum") int pageNum, @Param("pageSize") int pageSize); ``` ``` PageHelper.startPage(pageNum, pageSize); List<User> userList = userMapper.getUserList(pageNum, pageSize); ``` 4.在Controller中调用Mapper接口中的分页查询方法,并将查询结果封装到PageInfo对象中返回给前端: ``` @RequestMapping("/getUserList") public PageInfo<User> getUserList(@RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "10") int pageSize) { List<User> userList = userMapper.getUserList(pageNum, pageSize); PageInfo<User> pageInfo = new PageInfo<>(userList); return pageInfo; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只呆小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值