
前尘往事
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-Plus和PageHelper这两个Mybatis扩展在实际使用中可能出现的版本冲突问题,特别是在分页功能上。当它们与不同版本的Mybatis并存时,可能导致兼容性问题。解决方案包括通过Maven的exclusions标签排除冲突的Mybatis依赖,或者选择一个进行替代。推荐采用统一Mybatis版本并排除冲突依赖的方法,以保持系统的稳定性和兼容性。
1万+

被折叠的 条评论
为什么被折叠?



