文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MyBatis-Plus Page 分页不生效

2023-09-02 21:20

关注

一、问题现象

使用 MyBatis-Plus 进行分页查询时,传入了 pageNum 和 pageSize,但是查询结果没有按照预期的效果返回。


二、问题原因

没有对 Mybatis-Puls 进行初始化,需要添加相应的配置类。


三、解决方案

在项目工程中创建 config 目录,在其中新建配置类 MyBatisPlusConfig.java

import com.baomidou.mybatisplus.annotation.DbType;import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class MyBatisPlusConfig {        @Bean    public MybatisPlusInterceptor mybatisPlusInterceptor() {        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();        // 向MyBatis-Plus的过滤器链中添加分页拦截器,需要设置数据库类型(主要用于分页方言)        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.POSTGRE_SQL));//        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));        // 添加乐观锁拦截器        interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());        return interceptor;    }}

注意:
如果使用的是 PostgreSQL,数据库类型为 DbType.POSTGRE_SQL;
如果使用的是 MySQL ,数据库类型为 DbType.MYSQL。


PS:

DbType.java 代码如下:

package com.baomidou.mybatisplus.annotation;public enum DbType {    MYSQL("mysql", "MySql数据库"),    MARIADB("mariadb", "MariaDB数据库"),    ORACLE("oracle", "Oracle11g及以下数据库(高版本推荐使用ORACLE_NEW)"),    ORACLE_12C("oracle12c", "Oracle12c+数据库"),    DB2("db2", "DB2数据库"),    H2("h2", "H2数据库"),    HSQL("hsql", "HSQL数据库"),    SQLITE("sqlite", "SQLite数据库"),    POSTGRE_SQL("postgresql", "Postgre数据库"),    SQL_SERVER2005("sqlserver2005", "SQLServer2005数据库"),    SQL_SERVER("sqlserver", "SQLServer数据库"),    DM("dm", "达梦数据库"),    XU_GU("xugu", "虚谷数据库"),    KINGBASE_ES("kingbasees", "人大金仓数据库"),    PHOENIX("phoenix", "Phoenix HBase数据库"),    GAUSS("zenith", "Gauss 数据库"),    CLICK_HOUSE("clickhouse", "clickhouse 数据库"),    GBASE("gbase", "南大通用(华库)数据库"),    GBASEDBT("gbasedbt", "南大通用数据库"),    OSCAR("oscar", "神通数据库"),    SYBASE("sybase", "Sybase ASE 数据库"),    OCEAN_BASE("oceanbase", "OceanBase 数据库"),    FIREBIRD("Firebird", "Firebird 数据库"),    HIGH_GO("highgo", "瀚高数据库"),    CUBRID("cubrid", "CUBRID数据库"),    GOLDILOCKS("goldilocks", "GOLDILOCKS数据库"),    CSIIDB("csiidb", "CSIIDB数据库"),    SAP_HANA("hana", "SAP_HANA数据库"),    IMPALA("impala", "impala数据库"),    OTHER("other", "其他数据库");    private final String db;    private final String desc;    public static DbType getDbType(String dbType) {        DbType[] var1 = values();        int var2 = var1.length;        for(int var3 = 0; var3 < var2; ++var3) {            DbType type = var1[var3];            if (type.db.equalsIgnoreCase(dbType)) {                return type;            }        }        return OTHER;    }    public String getDb() {        return this.db;    }    public String getDesc() {        return this.desc;    }    private DbType(final String db, final String desc) {        this.db = db;        this.desc = desc;    }}

来源地址:https://blog.csdn.net/aikudexiaohai/article/details/129138686

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯