Mybatis Plus 分页功能
配置MP的分页插件
固定格式
/**
* 配置MP的分页插件
*/
@Configuration
public class MybatisPlusConfig {
//添加插件
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return mybatisPlusInterceptor;
}
}
使用MP的分页功能
/**
* 员工信息分页查询
* @param page
* @param pageSize
* @param name
* @return
*/
@GetMapping("/page")
public R<Page> page(int page,int pageSize,String name){
//构造分页构造器
Page pageinfo = new Page(page,pageSize);
//构造条件构造器
LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper();
queryWrapper.like(StringUtils.isNotEmpty(name),Employee::getUsername,name);
queryWrapper.orderByDesc(Employee::getUpdateTime);
//执行查询
employeeService.page(pageinfo,queryWrapper);
return R.success(pageinfo);
}
前端使用get方法携带参数page,pageSize,name(可选)请求分页数据
首先new一个分页构造器,将page和pageSize传入,实际上是new一个Page类,里面有前端使用分页数据的统一属性。
接下来new一个条件构造器,主要是针对有name的情况下的查询。
queryWrapper.like有一个3参数的方法,参数1是condition,在满足参1的情况下,才会对参2和参3进行比较。
MP封装好的Service下的page方法,将page对象和查询条件传入,即可将查询到的数据返回至page对象。
再将page对象传至前端即可。
浙公网安备 33010602011771号