话不说多直接上代码和例子:
版本:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
代码:
protected IPage<ErpSysCodeType> findByParam(Page<ErpSysCodeType> page, LambdaQueryWrapper<ErpSysCodeType> queryParamMap) {
return erpSysCodeMapper.selectPage(page,queryParamMap);
}
配置:
@EnableTransactionManagement
@Configuration
@MapperScan("com.eric.erp.repo.mappers")
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
// paginationInterceptor.setOverflow(false);
// 设置最大单页限制数量,默认 500 条,-1 不受限制
// paginationInterceptor.setLimit(500);
// 开启 count 的 join 优化,只针对部分 left join
paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
return paginationInterceptor;
}
}
给分页代码:
第一页
first:0 pageSize:10
第二页
first:10 pageSize:10
Page<T> page = new Page<>(first,pageSize);
Pair<List<T>, Long> result = this.basicService.getResultList(page,getQueryParam());
效果: 第一页
第二页:
当前给的是10,结果在查询参数里是如下图
Comment From: miemieYaho
10 就是第10页