条件分页查询的实现步骤
1 编写MybatisPlus中提供的分页插件,在配置类中声明分页插件的bean对象
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
分页插件自动实现:1.计算基于当前条件,一共有多少条记录 2.通过limit来获取当前页的数据
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return mybatisPlusInterceptor;
}
}
2 在表现层Controller类中编写分页查询page方法,将查询数据封装到Page对象中
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
条件模糊分页查询的方法(参数为:当前页,页大小,名字的部分)
例如: 参数=?page=1&pageSize=10&name=龙
@GetMapping("/page")
public R<Page> page(int page,int pageSize ,String name){
Page<Employee> pageInfo = new Page<>(page,pageSize);
LambdaQueryWrapper<Employee> wrapper = new LambdaQueryWrapper<>();
wrapper.like(StringUtils.isNotEmpty(name),Employee::getName,name);
employeeService.page(pageInfo,wrapper);
return R.success(pageInfo);
}