使用 Maven

在 pom.xml 中添加如下依赖:

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

Example

可以这样调用,PageHelper.startPage(1,10)表示从第一页开始,每页10条记录,返回值为Page<>。

@RestController

public class ProductController {

    @Autowired

    ProductMapper productMapper;

    @RequestMapping("getProduct")

    public Page<Product>  getProduct(){

        PageHelper.startPage(1,10);

        Page<Product> productList = (Page<Product>) productMapper.selectAll();

        return productList;

    }

}

这是直接通过mapper获取DO数据可以直接使用,List<>可以被直接强转为Page<>。

如果要转换为DTO或VO,需要通过下面的方式

 @RequestMapping("getProduct")
public PageInfo<ProductDTO> getProduct(){
PageHelper.startPage(1,10); List<ProductDTO> productDTOS = new ArrayList<>();
List<Product> productList = productMapper.selectAll();
PageInfo<Product> pageInfo = new PageInfo<>(productList); for (Product product : productList) {
ProductDTO productDTO = new ProductDTO();
BeanUtils.copyProperties(product,productDTO);
productDTOS.add(productDTO);
} PageInfo pageResult = new PageInfo(productDTOS);
return pageResult;
}

返回值为PageInfo<>类型,因为List<DTO>为ArrayList类,不能直接转为Page<>,所以放在PageInfo<>中。

前端取list中的内容即可,其余为参数信息。

PageHelper.startPage 静态方法调用

除了 PageHelper.startPage 方法外,还提供了类似用法的 PageHelper.offsetPage 方法。

在你需要进行分页的 MyBatis 查询方法前调用 PageHelper.startPage 静态方法即可,紧跟在这个方法后的第一个MyBatis 查询方法会被进行分页。

最新文章

  1. LinQ 简单使用
  2. 2014年5月份第4周51Aspx源码发布详情
  3. [SqlServer]创建链接服务器
  4. java.lang.StringBuilder
  5. 【巩固】CSS3的3D动画 ——3D旋转(1)
  6. asp.net对cookie的操作
  7. 第一章:Symfony2和HTTP基本原理
  8. SPOJ 3267 D-query(离散化+主席树求区间内不同数的个数)
  9. Inno Setup命令行安装卸载参数
  10. Jquery 对象集合的迭代扩展forEach
  11. jquery以及js实现option左移右移
  12. CSS实现背景透明而背景上的文字图片不透明
  13. 验证二叉搜索树的golang实现
  14. vue嵌套路由--params传递参数
  15. robot framework测试驱动无法定位页面元素
  16. LintCode: Single Number II
  17. linux一键安装php环境
  18. js中声明Number的五种方式
  19. Linux 系统 /proc/[pid]/stat 文件解释
  20. Css3 实现关键帧动画

热门文章

  1. Vue父子组件相互传值及调用方法的方案
  2. Fiddler抓包工具的简单使用
  3. scala 特质的应用
  4. SpringBoot系列教程web篇之自定义异常处理HandlerExceptionResolver
  5. [转帖](区块链补习班)ERC20很多人都听过,但ERC是什么你真的了解吗?
  6. 简单工厂(SimpleFactory)模式
  7. day22——从空间角度研究类、类与类之间的关系
  8. 2019-7-19 包、logging模块、hashlib(加密模块)、openpyxl模块、深浅拷贝
  9. redis 缓存穿透、击穿、雪崩
  10. Linux 6 修改ssh默认远程端口号