spring项目中引入pageHelper | 您所在的位置:网站首页 › pagehelper使用到项目的详细教程 › spring项目中引入pageHelper |
数据库操作 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 实验室设备网 版权所有 |