当前使用版本(必填,否则不予处理)

官网https://baomidou.com/中的最新版本

该问题是如何引起的?(确定最新版也有问题再提!!!)

当分页查询时,分页查询条件中包含name字段,则无法完成分页查询,并且无法获取到查询数据,但是mybatis-plus生成的代码是可以成功在mysql中运行

重现步骤(如果有就写完整)

// 开启分页
        Page<EduTeacher> eduTeacherPage = new Page<>(pageNumber.get("currentPageNum"), pageNumber.get("dataSize"));
        IPage<EduTeacher> teacherPage = teacherService.queryTeacherPageByCondition(eduTeacherPage, teacherConditionVO);
        return ResultValue.success().data("page", teacherPage);
// service
@Override
    public IPage<EduTeacher> queryTeacherPageByCondition(Page<EduTeacher> eduTeacherPage, TeacherConditionVO teacherConditionVO) throws ParseException {
        return page(eduTeacherPage, formatQueryCondition(teacherConditionVO));
    }

// service调用方法
@Override
    public Wrapper<EduTeacher> formatQueryCondition(TeacherConditionVO teacherConditionVO) throws ParseException {
        // 创建查询条件对象
        QueryWrapper<EduTeacher> queryWrapper = new QueryWrapper<>();
        // 对查询条件进行分析和格式化
        String teacherName = teacherConditionVO.getTeacherName();
        String levelStr = teacherConditionVO.getLevel();
        String startTime = teacherConditionVO.getStartTime();
        String endTime = teacherConditionVO.getEndTime();
        // 日期转换为date类型
        Date startTimeDate = new Date(0);
        Date endTimeDate = new Date(System.currentTimeMillis());
        // 将level转换
        Integer level = null;
        try {
            level = Integer.parseInt(levelStr);
        } catch (NumberFormatException ignored) { }

        // 判断是否添加等级条件, 如果为null则不添加查询条件
        if (level != null) {
            queryWrapper.eq("level", level);
        }
        // 判断是否添加起始时间条件, 如果为null则为改数据进行初始化为1970-08-00 00::00:00
        if (!StringUtils.isEmpty(startTime)) {
            startTimeDate = ServiceUtils.addDay(startTime, 1);
            queryWrapper.ge("gmt_create", startTimeDate);
        }
        // 判断是否添加结束时间条件, 如果为null则为改数据进行初始化为当前时间
        if (!StringUtils.isEmpty(endTime)) {
            endTimeDate = ServiceUtils.addDay(endTime, 1);
            queryWrapper.le("gmt_create", endTimeDate);
        }
        // 添加查询条件
        if (!StringUtils.isEmpty(teacherName)) {
            queryWrapper.like("name", teacherName);
        }
        return queryWrapper;
    }

报错信息

没有异常,但是生成的sql语句没有limit,然后查询的时候没有查到任何数据 这是执行分页后的语句:

SELECT id,name,intro,career,level,avatar,sort,is_deleted,gmt_create,gmt_modified
 FROM edu_teacher
 WHERE is_deleted=0 AND (name LIKE '%胡歌%'); 

在MySQL中正常使用能够查到数据,使用当前数据

Comment From: beichenhpy

其他分页正常吗?

Comment From: huayanYu

检查分页配置,如仍有问题,请提供详细复现方法。

Comment From: Jixiangup

非常抱歉!该问题全由我本人前端接受数据时日期格式化出现细微错误,由本人不当操作出现异常与插件无关

| | 1 | | @. | 签名由网易邮箱大师定制 在2021年4月26日 @.> 写道:

检查分页配置,如仍有问题,请提供详细复现方法。

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.