mybatis分页插件PageHelper

本文介绍了如何将mybatis的PageHelper分页插件集成到项目中,包括引入依赖、配置插件和使用分页API进行单元测试,确保分页功能正常运行。
摘要由CSDN通过智能技术生成

前面我们已经把mybatis生成器整合进来,并且生成好了model和mapper,这一节我们再把mybatis的分页插件PageHelper集成进来,我们mybatis基本的框架就整合完成了,可以放心的开发dao模块了。

引入依赖

dependencies {
    ...
    implementation 'com.github.pagehelper:pagehelper-spring-boot-starter:1.4.2'
}

配置插件

在application.yml中增加分页插件的配置

pagehelper:
  # 分页插件会自动检测连接的数据库,自动选择合适的分页实现(可以不设置)
  helper-dialect: mysql
  # 对RowBounds作为分页参数时有效,一般不用它,默认值为false
  offset-as-page-num: false
  # 对RowBounds进行count查询,一般不用它,默认值为false
  row-bounds-with-count: false
  # 为true则pageNum参数小于1时设为第一页,大于总页数时设为最后一页
  reasonable: true

使用分页API

接下来我们写一个单元测试来测试分页API的使用:

package com.xiaojuan.boot.dao.mapper;

import ...

...
public class CategoryMapperTest {

    ...

    @Test
    public void testInsertAndQueryByPage() {
        for (int i = 0; i < 20; i++) {
            Category entity = new Category();
            entity.setLevel((byte)1);
            entity.setOrderNum((byte)(i + 1));
            entity.setName("分类" + i);
            entity.setCreateTime(new Date());
            entity.setUpdateTime(new Date());
            categoryMapper.insertSelective(entity);
        }
        PageHelper.startPage(5, 5);
        List<Category> categories = categoryMapper.select(QueryExpressionDSL::where);
        PageInfo<Category> pageInfo = new PageInfo<>(categories);
        assertEquals(23, pageInfo.getTotal());
        assertEquals(3, pageInfo.getList().size());
    }
}

通过单元测试,我们发现分页没问题,ok!

在这里插入图片描述

到目前位置,spring boot和mybatis的整合就告一段落了,我们又要重新启航了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Java小卷

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

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

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

打赏作者

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

抵扣说明:

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

余额充值