解决MyBatis Plus分页不起作用

一、问题描述

使用的MyBatis Plus中的selectPage方法,无论怎么改都不起作用

原代码(serviceimpl层代码):

/**
 * 带条件的分页查询
 * @param current
 * @param limit
 * @param teacherQuery
 * @return
 */
@Override
public Page pageListTeacherCondition(long current, Long limit, TeacherQuery teacherQuery){
 
    //创建Page对象
    Page eduTeacherPage = new Page<>(current,limit);
 
    //构建条件
    QueryWrapper wrapper = new QueryWrapper<>();
 
    //获取传入讲师的条件是否为空
    //讲师名
    String name = teacherQuery.getName();
    //讲师级别
    Integer level = teacherQuery.getLevel();
    //开始时间
    String gmtCreate = teacherQuery.getGmtCreate();
    //结束时间
    String gmtModified = teacherQuery.getGmtModified();
 
    //多条件组合查询
    //判断条件值是否为空,如果不为空拼接条件
    if (!StringUtils.isEmpty(name)){
        //构建条件 模糊查询
        wrapper.like("name",name);
    }
 
    if (!StringUtils.isEmpty(level)){
        //等于
        wrapper.eq("level",level);
    }
 
    if (!StringUtils.isEmpty(gmtCreate)){
        //大于等于
        wrapper.ge("gmt_create",gmtCreate);
    }
 
    if (!StringUtils.isEmpty(gmtModified)){
        //小于等于
        wrapper.le("gmt_modified",gmtModified);
    }
 
    //调用mybatis plus分页方法进行查询
    eduTeacherMapper.selectPage(eduTeacherPage,wrapper);

    
    return eduTeacherPage;

二、解决方案

我查了一天后来才知道问题出在哪里,没有进行配置分页插件,加上这个分页插件配置类,查询分页就好使了

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
 
@Configuration
public class MyBatisPlusConfig {
 
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor page = new PaginationInterceptor();
        page.setDialectType("mysql");
        return page;
    }
}

三、显示效果

访问方式GET :http://localhost:9030/eduservice/teacher/pageListTeacherCondition/1/5?current=1&limit=5&gmtCreate=2019-01-01 10:10:10&gmtModified=2020-02-01 10:10:10&level=1&name=宋

MyBatis Plus实现带条件分页查询响应结果.png

你可能感兴趣的:(java)