mybatis mysql limit_mybatis-plus分页传入参数后sql where条件没有limit分页信息操作

在使用 Mybatis-Plus 进行分页查询时遇到一个特殊问题,当where条件过滤的数据量小于默认一页数量,SQL不会包含limit分页信息。不设置QueryWrapper时,分页限制则正常显示。这个问题耗费了两个小时来解决,最终发现是Mybatis-Plus的智能优化导致的。解决方案是检查Mybatis-Plus版本,确保使用兼容的分页拦截器。建议开发者遇到问题时首先查阅官方文档,避免走弯路。
摘要由CSDN通过智能技术生成

折腾了差不多两个小时,各种方法尝试,后来想想应该是where过滤后的数据量没有达到默认一页规定的数量所以干脆where就不显示limit信息了,试了一下还真是。。。这作者还真是把程序做的足够智能,可是这个智能也让我白白花掉了两个小时。。。还是自己太笨了……

但是奇怪的是,如果我不设置QueryWrapper参数,where后面的分页限制又是可以出来的。百思不得其解作者的想法。。。

具体看代码:

@Override

public PageUtils queryPage(Map params) {

IPage page = this.page(

new Query().getPage(params),

new QueryWrapper().eq(!UtilString.isNull(params.get("user_id"))

,"user_id", params.get("user_id"))

);

return new PageUtils(page);

}

记录的目的是希望跟我一样遇到这个特殊情况的童鞋能快速绕过这个弯,时间宝贵。晚安^.^

最后附上官方文档,希望大家多看看文档系统性的了解

补充知识:记录逆向工程生成的mybatisplus分页方法limit失效的坑

因为我在解决问题之前也是在网上查找方法和官网查找方法都有没有解决,所以也是我写这篇文章的原因,希望

后面的同学在开发的时候能够少走弯路

controller层

@RequestMapping("/list")

public R li

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值