mybatis分页插件PageHelper

Java小卷
• 阅读 370

前面我们已经把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!

mybatis分页插件PageHelper

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

点赞
收藏
评论区
推荐文章

暂无数据

Java小卷
Java小卷
Lv1
谁家玉笛暗飞声,散入春风满洛城。
文章
0
粉丝
1
获赞
0
热门文章

暂无数据