网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

Mybatis Plus分页失效怎么办?有哪些解决方案?

GG网络技术分享 2025-08-12 01:00 18


一、 Mybatis Plus分页失效的原因

Mybatis Plus是一款优秀的ORM框架,操作简便。只是在用过程中,我们兴许会遇到分页失效的问题。

1. Mybatis Plus版本问题

用较老版本的Mybatis Plus兴许弄得分页失效。为了解决这玩意儿问题,觉得能升级到最新鲜版本。

2. Mapper.xml文件格式问题

在Mapper.xml中,SQL语句格式错误兴许弄得分页失效。正确的格式是:在SQL语句的再说说加上limit #{offset}, #{pageSize}, 其中#{offset}代表偏移量,#{pageSize}代表每页看得出来的数量。

3. 分页插件配置问题

Mybatis Plus默认自带分页插件com.baomidou.mybatisplus.plugins.PaginationInterceptor。但在有些麻烦查询中,该插件兴许会失效。此时需要检查插件配置是不是正确。

4. 分页参数传参问题

用分页查询方法时 非...不可传入Page对象,并调用setRecordsTotal方法设置总记录数。否则,分页插件无法正常干活。

如果用的是较老版本的Mybatis Plus,觉得能升级到最新鲜版本。最新鲜版本已经解决了一些已知的分页失效问题。

确保在Mapper.xml中,SQL语句的格式正确。在SQL语句的再说说加上limit #{offset}, #{pageSize}。

3. 配置分页插件

在application.yml文件中配置分页插件,如下所示:

mybatis-plus:
  configuration:
    page-params: pageNum=pageNum;pageSize=pageSize;count=countSql

4. 自定义分页插件

Mybatis Plus给了自定义分页插件的功能。能通过继承com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor类,实现自定义分页逻辑。

public class CustomPaginationInterceptor extends PaginationInterceptor {
    @Override
    public Page sqlParserInterceptor {
        // 获取前端传入的分页参数
        Integer pageNum =  page.get;
        Integer pageSize =  page.get;
        // 处理分页逻辑
        int offset =  * pageSize;
        return super.sqlParserInterceptor);
    }
}

Mybatis Plus分页失效问题能通过升级版本、修改Mapper.xml文件格式、配置分页插件和自定义分页插件等方法解决。在进行分页查询时觉得能用最新鲜版本的Mybatis Plus,并根据业务情况选择合适的分页插件。

欢迎用实际体验验证以上观点。

标签: Mybatis 问题 分页

提交需求或反馈

Demand feedback