SpringBoot 整合 Mybatis + pagehelper 实现分页

本文参考: github -pagehelper官方文档

https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/HowToUse.md

 

首先是 pom.xml 添加 pagehelper 的依赖

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.3</version>
        </dependency>
无需添加任何配置文件.本人亲测, 如果需要定制配置请参考官方文档

在 application.yml 中 mybatis 的配置如下

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true
    username: root
    password: 123456

mybatis:
  mapper-locations: classpath*:mapper/*.xml
  type-aliases-package: com.zhouzhou.pagehelper.dao.entity

好了接下来是代码部分,在原来的查找条件下,多添加几行代码即可

    @GetMapping("/queryUser")
    @ApiOperation(value = "查询用户用模型", notes = "测试查询")
    public Response<PageInfo> getUser(UserSearchModel searchModel) {
        // 设置初始页,和每页查找数量
        PageHelper.startPage(searchModel.getStartPage(),searchModel.getPageSize());
        
        UserExample userExample = new UserExample();
        UserExample.Criteria criteria = userExample.createCriteria();
        criteria.andNameLike(searchModel.getName().trim());
        List<User> users = userMapper.selectByExample(userExample);
        // 封装分页模型
        PageInfo<User> pageInfo = new PageInfo<>(users);
        
        Response<PageInfo> response = new Response<>();
        response.setData(pageInfo);
        response.setCode(Response.HttpResponseStatus.OK);
        return response;
    }

最后通过 swagger 测试成功

github源码地址:

https://github.com/zjhzzhouzhou/pagehelper

猜你喜欢

转载自blog.csdn.net/weixin_38399962/article/details/89810784