mybatisPlus实现分页及模糊查询

一、分页流程分析:

1). 页面发送ajax请求,将分页查询参数(page、pageSize、name)提交到服务端

2). 服务端Controller接收页面提交的数据, 并组装条件调用Service查询数据

3). Service调用Mapper操作数据库,查询分页数据

4). Controller将查询到的分页数据, 响应给前端页面

5). 页面接收到分页数据, 展示到页面上

二、代码实现:

1.使用分页查询功能,需要用到MybatisPlus中提供的分页插件,要使用分页插件,就要在配置类中声明分页插件的bean对象。

@Configuration
public class MybatisPlusConfig {

    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return mybatisPlusInterceptor;
    }
}

2.在分页查询时,请求信息如下:

mybatisPlus实现分页及模糊查询_第1张图片

3.具体的业务处理逻辑,如下:

    1 定义一个get请求接收page pageSize name的URL参数的处理方法
    2 MyBatis-plus提供的分页方法进行查询
        2.1 构造查询条件
        2.2 指定排序规则,按照更新时间倒序
        2.3 调用查询方法
    3 返回查询的结果
​

  //1 定义一个get请求接收page pageSize name的URL参数的处理方法
    @GetMapping("/page")
    public R page(@RequestParam(required = false, defaultValue = "1") int page,
                        @RequestParam(required = false, defaultValue = "10") int pageSize,
                        String name){
//2 MyBatis-plus提供的分页方法进行查询
//        2.1 构造查询条件
        Page pageInfo = new Page<>(page, pageSize);
        LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
        wrapper.like(StringUtils.isNotBlank(name), Employee::getName, name);
//        2.2 指定排序规则,按照更新时间倒序
        wrapper.orderByDesc(Employee::getUpdateTime);
//        2.3 调用查询方法
        employeeService.page(pageInfo, wrapper);
//3 返回查询的结果
        return R.success(pageInfo);
    }

[点击并拖拽以移动]
​

 

你可能感兴趣的:(学习笔记,mybatis)