java后端实现信息分页查询

需求分析

  1. 一个页面展示大量的用户信息不便于观看,因此采用分页展示方法
  2. 用户可以通过分页条自己选择查看的数量。
  3. 可以条件过滤一些信息,在查询的同时还需要分页展示

代码开发

  1. 流程

    1. 页面发送ajax请求,将分页查询参数page,pageSize,name)提交服务端
    2. 服务端Controller接收到页面提交的数据调用Service查询数据
    3. Service调用Mapper操作数据库查询分页展示
    4. Controller将查询到的分页数据响应给页面
    5. 页面接收分页数据并通过ElementUI的Table组件展示到页面上
  2. 要点说明:

  3. 后端代码开发

    1. 配置Mybatis-plus的分页插件
      /**
       * 配置MP的分页插件
       */
      @Configuration //配置注解
      public class MybatisPlusConfig {
      
          //通过拦截器的方式插件加载项目
          @Bean
          public MybatisPlusInterceptor mybatisPlusInterceptor(){
              //创建拦截器对象
              MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
              //通过对象加载拦截器
              mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
              return mybatisPlusInterceptor;
          }
      }
      
    2. 创建controller接收前端页面发送请求的参数
      /**
       * 员工信息的分页查询
       * @param page
       * @param pageSize
       * @param name
       * @return
       */
      @GetMapping("/page")
      public R<Page> page(int page,int pageSize,String name) {
          log.info("page={},pageSize={},name={}", page, pageSize, name);
      
          //1.构造分页构造
          Page pageInfo = new Page<>(page, pageSize);
      
          //2.构造条件构造
          LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper();
          // 2.1添加一个过滤条件
          queryWrapper.like(StringUtils.isNotEmpty(name), Employee::getName, name);
          // 2.2添加一个排序条件
          queryWrapper.orderByDesc(Employee::getUpdateTime);
      
      
          //3.执行查询
          employeeService.page(pageInfo, queryWrapper);
          return R.success(pageInfo);
      }
      

测试

使用断点调试,跟踪代码逻辑验证是否符合预期

原文地址:https://blog.csdn.net/weixin_52154534/article/details/134589414

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_#ID#.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注