Mybatis-Puls & pagehelper分页问题

Posted 沛沛老爹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis-Puls & pagehelper分页问题相关的知识,希望对你有一定的参考价值。

前尘往事

Mybatis-Puls & pagehelper,mybatis领域的两个大块头来的。

用过mybatis的基本上都有用过他们。

mybatis-plus大本营:https://mp.baomidou.com/

pagehelper大本营:https://pagehelper.github.io/

双方团队的粉丝都很多,大部分都属于两面派的那种。

平时没事,大家都嘻嘻哈哈,和稀泥,打太极。

但是用的不好,双方就会直接干起来。

分页罢工的事情,很多人都踩过。

细究原因....

前因后果

Mybatis-Plus和pagehelper都是基于Mybatis的基础上进行二开的。

所以,他们的问题基本上就比较明显。

每个的对应的Mybatis的版本都是不一样的。

在实际代码的引入包中,会发生版本的冲突问题。

一般分页出问题的,大多数都是因为版本不兼容的问题导致的。

对应的版本不一致,用时一时爽,调试火葬场。

有兴趣的可以看下pagehelper和mybatis-plus的版本中包含的mybatis的包的版本。

您会发现两位猪哥的版本都是按照自己的喜好来的。

pagehelper更新的版本(传送门):

https://github.com/pagehelper/pagehelper-spring-boot

前思后想

分页问题要解决的话,江湖上一般就两种方案:

1、两者共存。

让Mybatis版本统一,干掉其中的一个mybatis的版本。

maven中一般使用exclusion,将其中一个忽略掉。

如下所示:

     <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>1.2.13</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.mybatis</groupId>
                        <artifactId>mybatis</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>mybatis-spring</artifactId>
                        <groupId>org.mybatis</groupId>
                    </exclusion>
                </exclusions>
            </dependency>

2、干掉其中一个。

2.1、干掉pagehelper,分页直接用mybatis-plus的IPage来实现。

2.2、干掉mybatis-plus,苦哈哈去刷xml文档。

总结

推荐使用方法一,毕竟两者都有各自的优势来的。

以上是关于Mybatis-Puls & pagehelper分页问题的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot + Mybatis-puls + ClickHouse (分页查询添加修改删除)

SpringBoot + Mybatis-puls + ClickHouse (分页查询添加修改删除)

MyBatis-Puls条件构造器

MyBatis-Puls条件构造器

SpringBoot + Mybatis-puls + ClickHouse (分页查询添加修改删除)

SpringBoot + Mybatis-puls + ClickHouse增删改查入门教程