spring项目中引入pageHelper 您所在的位置:网站首页 pagehelper使用到项目的详细教程 spring项目中引入pageHelper

spring项目中引入pageHelper

2024-07-02 23:08| 来源: 网络整理| 查看: 265

 数据库操作

 myBatis中集成分页pageHelper插件

实现方式

在pom.xml中添加依赖

                    com.github.pagehelper             pagehelper-spring-boot-starter             1.2.10        

 

在application.yml中添加pagehelper配置

    # pagehelper.helperDialect=mysql  旧版配置分页插件数据库:pagehelper.dialect: mysql (该配置请去掉) https://www.jianshu.com/p/a702f1e74300(该版本1.2.10报错解决的文档)

    #如果不去掉上面这个会报 com.github.pagehelper.PageException: java.lang.ClassNotFoundException: mysql      pagehelper.reasonable=true      pagehelper.supportMethodsArguments=true     # pagehelper.params=count=countSql

说明:

* helperDialect:分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。你也可以配置helperDialect属性来指定分页插件使用哪种方言。 * reasonable:分页合理化参数,默认值为false。当该参数设置为 true 时,pageNumpages(超过总数时),会查询最后一页。默认false 时,直接根据参数进行查询。 *params:用于从对象中根据属性名取值, 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值, 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero *supportMethodsArguments:默认值false,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页。

代码示例

在controller层

 

@RequestMapping("/get-books")     public RespResult getBooks(@RequestParam("book") String book,                                @RequestParam("page") Integer page,                                @RequestParam("pageSize") Integer pageSize                                ) {         PageInfo pageInfo = bookService.selectByExample(book,page,pageSize);         RespResult result = new RespResult();         result.setCode("200");         result.setMessage("查询成功");         result.setData(pageInfo);         return result;     }

 

在service层

PageInfo selectByExample(String book, Integer page, Integer pageSize);

在service实现层

@Override     public PageInfo selectByExample(String book, Integer page, Integer pageSize) {         BookExample bookExample = new BookExample();         BookExample.Criteria criteria = bookExample.createCriteria();         if (!StringUtil.isNullOrEmpty(book)) {             criteria.andBookLike("%" + book + "%");         }         PageHelper.startPage(page,pageSize);         PageHelper.orderBy("id DESC");         List books = bookMapper.selectByExample(bookExample);         if (books != null) {             PageInfo bookPageInfo = new PageInfo(books);             return bookPageInfo;         }         return null;     }

返回值:

{     "code": "200",     "message": "查询成功",     "data": {         "total": 8,         "list": [             {                 "id": 6,                 "uid": 2,                 "book": "123444",                 "store": "33335555",                 "createAt": "2020-12-07 03:26:24",                 "updateAt": "2020-12-07 03:26:24"             },             {                 "id": 5,                 "uid": 2,                 "book": "123",                 "store": "3333",                 "createAt": "2020-12-07 03:24:31",                 "updateAt": "2020-12-07 03:24:31"             }         ],         "pageNum": 2,         "pageSize": 2,         "size": 2,         "startRow": 3,         "endRow": 4,         "pages": 4,         "prePage": 1,         "nextPage": 3,         "isFirstPage": false,         "isLastPage": false,         "hasPreviousPage": true,         "hasNextPage": true,         "navigatePages": 8,         "navigatepageNums": [             1,             2,             3,             4         ],         "navigateFirstPage": 1,         "navigateLastPage": 4     } }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有