场景
- 近日,本部门两个项目小组所做的产品要融合,他们使用的是
mybatis + pageHealper 做分页,我们是使用mybatis-plus 自带的分页。合并的时候发现mybatis-plus的分页突然就不好使了,最后定位到是pageHealper内部做了所有请求接口的拦截,导致mybatis-plus的分页失效,total一直为0。 - 说实话肯定是老技术向新技术靠拢是吧,但是由于他们的产品已经上生产了,我们的产品还没有发布了,所以只能向他们的技术靠拢,如果找不到兼容的方法,肯定就是我们得把所有的接口全改成pageHealper进行分页,┭┮﹏┭┮
- 由于我所负责的需求模块分页特别多,所以领导就让我去解决,差不多在网上找了一天才找到兼容的办法,真是万幸。
原因
原因是引入的pageHealper依赖版本太低了,导致两者的依赖产生冲突了,冲突的jar包是jsqlparser 。
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
解决方法
- 将pageHealper的依赖版本升级,从
1.2.5 升到1.4.1 。 - 并且排除掉
mybatis 、mybatis-spring 、jsqlparser 这三个jar包即可。
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</exclusion>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</exclusion>
<exclusion>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
</exclusion>
</exclusions>
</dependency>
亲测可用:如果能帮助到大家,请给我点个赞,感谢👍
|