问题
最近一个项目中使用了pageHelper分页插件。项目地址 : http://git.oschina.net/free/Mybatis_PageHelper。 在controller中使用该插件进行分页查询遇到如下两个问题:
- 找不到分页插件pagehelper的class: NotFoundClass exception 。。。
- 在controller中return分页查询的结果,浏览器响应的json对象为空。。。奇了怪了!
解决
首先在common-service模块中的pom引入pageHelper的jar包:
1
2
3
4
5
6
7
8
9<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
</dependency>
<dependency>
<groupId>com.github.miemiedev</groupId>
<artifactId>mybatis-paginator</artifactId>
</dependency>注意上面的mybatis-paginator 是pagehelper所依赖的包, 也需要一并引入。
为了程序的优雅性,并不推荐网上一些解决方案,直接再web层的pom引用分页的jar包。使用分布式模块,远程调用service,在service层引入jar包
这个错误。。。其实,就是分页的结果pojo需要写上get和set方法!!!!需要符合一个标准的java bean对象的标准。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50package com.qingcheng.entity;
import java.io.Serializable;
import java.util.List;
/**
*
* 分页结果的封装实体类
* @author Hongliang Zhu
* @create 2020-06-11 16:50
*/
public class PageResult<T> implements Serializable { // 泛型类 : 可以封装任何数据的分页查询结果
private Long total; // 总记录数
private List<T> rows; // 数据
public PageResult(Long total, List<T> rows) {
this.total = total;
this.rows = rows;
}
public Long getTotal() {
return total;
}
public void setTotal(Long total) {
this.total = total;
}
public List<T> getRows() {
return rows;
}
public void setRows(List<T> rows) {
this.rows = rows;
}
public String toString() {
return "PageResult{" +
"total=" + total +
", rows=" + rows +
'}';
}
}这错误太坑了。。。怪自己! 之后成功解决,也该睡了,心累。