PageHelper分页查询
回顾一下以前分页操作,最常用的一般都是一些分页工具。这里我也把分页工具方式写一下。
添加依赖
<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.4.0</version> </dependency>
接口方法调整一下。
@Override public PageInfo<TestFluentMybatisEntity> selectAllByPage2(PageReq pageReq) { PageHelper.startPage(pageReq.getPage(), pageReq.getSize()); return new PageInfo<>( testFluentMybatisMapper.listEntity(new TestFluentMybatisQuery().selectAll())); }
控制层代码。
@ApiOperation(value = "分页查询所有数据2", notes = "分页查询所有数据2") @RequestMapping(value = "/selectAllPage2", method = RequestMethod.POST) @ResponseBody public Result<PageInfo<TestFluentMybatisEntity>> selectAllPage2(@RequestBody PageReq pageReq) { try { return Result.ok(selectService.selectAllByPage2(pageReq)); } catch (Exception exception) { return Result.error(ErrorCode.BASE_ERROR_CODE.getCode(), exception.getMessage(), null); } }
看下执行效果。
这里要注意一下,pageHelper的第一页是1,不是0,是有区别的。看下sql日志。
2021-10-25 11:27:37.135 DEBUG 24688 --- [nio-8080-exec-4] c.h.f.f.m.T.listEntity_COUNT : ==> Preparing: SELECT count(0) FROM `test_fluent_mybatis` 2021-10-25 11:27:37.136 DEBUG 24688 --- [nio-8080-exec-4] c.h.f.f.m.T.listEntity_COUNT : ==> Parameters: 2021-10-25 11:27:37.139 DEBUG 24688 --- [nio-8080-exec-4] c.h.f.f.m.T.listEntity_COUNT : <== Total: 1 2021-10-25 11:27:37.140 DEBUG 24688 --- [nio-8080-exec-4] c.h.f.f.m.T.listEntity : ==> Preparing: SELECT `id`, `age`, `create_time`, `del_flag`, `name` FROM `test_fluent_mybatis` LIMIT ? 2021-10-25 11:27:37.140 DEBUG 24688 --- [nio-8080-exec-4] c.h.f.f.m.T.listEntity : ==> Parameters: 2(Integer) 2021-10-25 11:27:37.142 DEBUG 24688 --- [nio-8080-exec-4] c.h.f.f.m.T.listEntity : <== Total: 2
总结
是使用官方方式还是pageHelper,看习惯了,都可以。
如果本文对你有帮助,请点个赞支持一下吧。