zoukankan      html  css  js  c++  java
  • 在线教育项目-day02【讲师分页功能和多条件组合查询功能】

    一、讲师分页功能

    1.添加分页插件

    /**
     * 分页插件
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }

    2.添加代码

      //3.分页查询
        //{current}:当前页/{limit}每页内容"
        @GetMapping("PageFind/{current}/{limit}")
        public R pageList(@PathVariable long current,
                          @PathVariable long limit){
    
            Page<EduTeacher> page=new Page<>(current,limit);
            eduTeacherService.page(page,null);
            long total=page.getTotal();
            List<EduTeacher> records=page.getRecords();
            return R.OK().data("total",total).data("records",records);
    
        }

    测试成功

     二、多条件组合查询功能

    首先书写controller,用的wrapper实现条件查询

    //4.多条件查询带分页
        @PostMapping("PageFindCondition/{current}/{limit}")
        
        public R pageListCondition(@PathVariable long current,
                                   @PathVariable long limit,
                                   @RequestBody(required = false) TeacherQuery teacherQuery){
            Page<EduTeacher> page=new Page<>(current,limit);
            QueryWrapper<EduTeacher> wrapper=new QueryWrapper();
            //判断条件是否为空
            String name = teacherQuery.getName();
            Integer level = teacherQuery.getLevel();
            String begin = teacherQuery.getBegin();
            String end = teacherQuery.getEnd();
            if(!StringUtils.isEmpty(name)){
                wrapper.like("name",name);
            }
            if(!StringUtils.isEmpty(level)){
                wrapper.eq("level",level);
            }
            if(!StringUtils.isEmpty(begin)){
                wrapper.ge("gmt_create",begin);
            }
            if(!StringUtils.isEmpty(end)){
                wrapper.le("gmt_modified",end);
            }
            eduTeacherService.page(page,wrapper);
            long total=page.getTotal();
            List<EduTeacher> records=page.getRecords();
            return R.OK().data("total",total).data("records",records);
        }

    这里需要注意一些问题,

     @RequestBody(required = false) TeacherQuery teacherQuery

    可以看到我们再自封装的这个实体类中加上了一个注解

    @RequestBody
    这个注解的目的主要是使用json传递数据,把json数据封装到对应对象里,required意思是是否值允许为空
    但是一旦用了这个注解就需要用post方式提交,所以我们需要更改注解。
     @PostMapping("PageFindCondition/{current}/{limit}")

     




  • 相关阅读:
    Flask 路由映射对于双斜线的处理 //a//b
    python中的导入如何使用,以及.和..相对导入的使用
    tornado 启动WSGI应用(Flask)使用多线程将同步代码变成异步
    flask的请求处理流程和异常处理流程
    pyengine介绍及使用
    __import__
    如何为自己的pip包打造可以执行的系统命令
    JS进阶之原型
    JS基础之对象
    CSS之深入探究Position
  • 原文地址:https://www.cnblogs.com/dmzna/p/12793681.html
Copyright © 2011-2022 走看看