SpringBoot学习四:整合Mybatis分页插件 PageHelper

引入maven依赖

按照惯例,需要引入SpringBoot的pagehelper依赖。

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.3</version>
</dependency>

请注意版本号,与Mybatis不兼容的版本号可能会导致异常

配置pagehelper参数

#mybatis配置
mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: online.suiyu.mybatisdemo.entity
server:
  port: 8083
#配置pagehelper
pagehelper:
  helper-dialect: mysql
  reasonable: true
  support-methods-arguments: true
  params: count=countSql

详细配置参数参考官方文档

依次修改Controller、Service,添加分页的参数

  1. Controller层
@ApiOperation(value = "getAllUser", notes = "获取所有的内容", tags = "user")
@RequestMapping(value = "/getalluser", method = RequestMethod.GET)
public List<User> getAllUser(@RequestParam(value = "pageNum", required = false, defaultValue = "1") int pageNum,
                             @RequestParam(value = "pageSize", required = false, defaultValue = "4") int pageSize) {
    return userService.getAllUser(pageNum, pageSize);
}
  1. Service层
@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    public List<User> getAllUser(int pageNum, int pageSize) {
        //这是整个过程中最核心的一条语句
        PageHelper.startPage(pageNum, pageSize);
        return userMapper.getAllUser();
    }
}

到此完成,顺便一提,当pageNum<=0时,加载第一页,当pageNum>最后一页则加载最后一页。这是有配置文件中的reasonable: true决定的!

到此,整合完成!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在实际的项目开发中,常常需要使用到分页,分页方式分为两种:前端分页和后端分页。 前端分页一次ajax请求数据的所有...
    意识流丶阅读 70,540评论 2 70
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,404评论 19 139
  • Mybatis分页插件-PageHepler的使用 使用方法 1. 引入分页插件 引入分页插件一共有下面2种方式,...
    匆匆岁月阅读 5,252评论 0 7
  • 最近,一本比尔·盖茨亲自作序的小书火了!9月份在美国亚马逊开售之后,霸占商业类图书畅销榜首3周之久。 书的名字叫《...
    杨Sir杨光柱阅读 2,405评论 0 1
  • 小满有雨 风静雨示爱, 浓妆入柳怀。 最喜田间麦, 锋芒如花开。 地瓜花 主人癖爱花, 花盆栽地瓜。 夏天来看花,...
    郭夏天阅读 3,996评论 9 28