@Data
public class BasePageParameter {
@ApiParam("当前页码")
private Integer pageNumber;
@ApiParam("页条数")
private Integer pageSize;
@ApiParam("模糊搜索条件")
private String search;
@ApiModelProperty(hidden = true)
private Integer current;
@ApiModelProperty(hidden = true)
private Integer size;
public BasePageParameter(Integer pageNumber, Integer pageSize, String search) {
this.pageNumber = pageNumber == null ? 1 : pageNumber;
this.pageSize = pageSize == null ? 10 : pageSize;
if (search != null && !"".equals(search.trim())) {
this.search = search;
}
this.current = (this.pageNumber - 1) * this.pageSize;
this.size = this.pageSize;
}
}
这是分页参数,然后在MybatisPlusConfig配置以什么结尾的是分页
然后方法名就用那个后缀,比如我这个就是pagination后缀
/**
* MybatisPlus 配置
*/
@EnableTransactionManagement
@Configuration
@MapperScan(basePackages = {"xx.xxx.xx.mapper"})
public class MybatisPlusConfig {
/**
* mybatis-plus分页插件<br>
* 文档:http://mp.baomidou.com<br>
*/
@Bean(name = "pagination")
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
return paginationInterceptor;
}
@Bean
public ISqlInjector sqlInjector() {
// return new LogicSqlInjector();
return new DefaultSqlInjector();
}
}
然后传参的时候先传分页参数和参数
IPage<UserInfo> selectUserList(BasePageParameter param, UserInfo info);
public IPage<UserInfo> selectUserList(BasePageParameter param, UserInfo info) {
IPage<UserInfo> page = new Page<>(param.getPageNumber(),param.getPageSize());
QueryWrapper<UserInfo> wrapper = new QueryWrapper<>();
wrapper.eq("id",info.getId());
return this.page(page,wrapper);
}