项目场景:
在二次开发中要使用到多数据源这种情况,但是原有的分页只适用于以前的方式(之前是ORACLE)现在要用到的是mysql的分页这种方式
问题描述
按照往上pagehelper的使用教程,我在自己的项目中导入了pagehelper的依赖(我的springboo版本为v2.3.7.RELEASE)
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.2.0</version></dependency>
导入进去后刷新maven,在业务层使用
public Result<?> queryAirCompany(@RequestParam(name = "companyName", required = false) String companyName,@RequestParam(name = "pointName", required = false) String pointName,@RequestParam(name = "pageSize", required = true, defaultValue = "10") Integer pageSize,@RequestParam(name = "pageNum", required = true, defaultValue = "1") Integer pageNum) {PageHelper.startPage(pageNum, pageSize);List<Map<String, Object>> data = eptEnterpriseService.queryAirCompany(companyName, pointName);PageInfo pageInfo = new PageInfo(data);return ResultUtil.data(pageInfo);}
在这里插入代码片
我发现了传入的pageNum和PageSize没有作用,在网上人家查询到要使用pagehelper-spring-boot-start依赖,而不是pagehelper的依赖。把上面的依赖改成下面的依赖。 于是我更换了一下的依赖
<!-- <dependency>--><!-- <groupId>com.github.pagehelper</groupId>--><!-- <artifactId>pagehelper</artifactId>--><!-- <version>5.2.0</version>--><!-- </dependency>--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.3</version></dependency>
启动项目发现项目直接起不来了,报错信息如下:
Caused by: java.lang.ClassNotFoundException: org.mybatis.logging.LoggerFactoryat java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na]at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]... 71 common frames omitted
原因分析:
在网上查询多个博客的文章都没有解决,最终分析估计是maven版本冲突了。
解决方案:
在网上我看到好多博主的springboot版本是2.1.左右的版本他们对应的pagehelper-spring-boot-starter版本大都是1.2.3到1.2.5左右。我依次尝试直到1.2.12成功了。
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.12</version></dependency>