mybatisplus分页查询

插件配置

package com.example.service.edu.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.injector.LogicSqlInjector;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
@MapperScan("com.example.service.edu.mapper")   //mapper扫描路径
public class EduConfig {
    /**
     * 逻辑删除插件
     */
    @Bean
    public ISqlInjector sqlInjector() {
        return new LogicSqlInjector();
    }

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

分页查询

@ApiOperation(value = "分页查询")
    @GetMapping("teacherPage/{current}/{limit}")
    public R pageList(
            @ApiParam(name = "current",value = "当前页",required = true)
            @PathVariable Long current,

            @ApiParam(name = "limit",value = "每页记录数",required = true)
            @PathVariable Long limit
    ){
        Page<Teacher> pageParam = new Page<>(current,limit);
        teacherService.page(pageParam,null);

//        try {
//            int i = 10/0;
//        } catch (Exception e) {
//            throw new GuliException(20001,"执行了自定义异常处理");
//        }
        List<Teacher> records = pageParam.getRecords();
        long total = pageParam.getTotal();

        return R.ok().data("total",total).data("rows",records);
    }

条件构造分页查询

 @PostMapping("pageTeacherCondition/{current}/{limit}")
    public R pageTeacherCondition(@PathVariable long current,@PathVariable long limit,
                                  @RequestBody(required = false) TeacherQuery teacherQuery){
        //前端传回的current,limit作为条件构造page对象
        Page<Teacher> pageTeacher = new Page<>(current,limit);
        //构建条件
        QueryWrapper<Teacher> wrapper = new QueryWrapper<>();
        //前端返回的返回的teacherQuery作为判断条件
        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);
        }
        //调用方法实现分页,page,条件构造
        teacherService.page(pageTeacher,wrapper);

        //总记录数
        long total = pageTeacher.getTotal();
        //数据集合
        List<Teacher> records = pageTeacher.getRecords();
        return R.ok().data("total",total).data("rows",records);
    }

前端js文件编写

// request封装了axios
import request from '@/utils/request'

export default {
    //current当前页,limit每页记录数,teacherQuery条件构造
    getTeacherListPage(current,limit,teacherQuery){
        return request({
            url: `/edu/teacher/pageTeacherCondition/${current}/${limit}`,
            method: 'post',
            //后端加了@RequsetBody修饰,代表以json形式返回数据,需要加data
            data: teacherQuery
        })
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超级无敌暴龙战士塔塔开

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值