首先一个配置
//Spring boot方式
@EnableTransactionManagement
@Configuration
@MapperScan("com.baomidou.cloud.service.*.mapper*")//这里扫描了之后,就不用再在启动类上面重复扫描了
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;
}
}
写一个封装了分页的基本信息
@Data
@Component
@ApiModel(value = "用来封装数据分页时的基本信息")
public class PageInformation {
@ApiModelProperty("用来指明第几页,默认从第一页开始")
private Integer pages = 1;
@ApiModelProperty("用来指明一页最多显示多少条数据,默认5条数据")
private Integer size = 5;
}
自己写的mapper
IPage<T> 方法名(Page<?> page, 参数2, 参数3, 参数4.....);
在程序中应用
@Autowired
private xxxMapper xxxrMapper;
@Autowired
private PageInformation pageInformation;
{
/**
*在这里可以改版pageInformation的默认配置
*pageInformation.setPages(2);
*pageInformation.setSize(50);
*/
//分页工具
Page<T> page = new Page<>(pageInformation.getPages(),pageInformation.getSize());
//调用
userMapper.方法名(Page<?> page, 参数2, 参数3, 参数4.....);
}