分页方法内部
复制代码
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78import com.github.pagehelper.PageInfo; import java.io.Serializable; import java.util.ArrayList; import java.util.List; public class PageWrapper<T> implements Serializable { private static final long serialVersionUID = 1L; private int pageNum = 1;//页码,默认是第一页 private int pageSize = 10;//每页显示的记录数,默认是10 private int totalRecord;//总记录数 private int totalPage;//总页数 private List<T> results;//对应的当前页记录 public int getPageNum() { return pageNum; } public void setPageNum(int pageNum) { this.pageNum = pageNum; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getTotalRecord() { return totalRecord; } public void setTotalRecord(int totalRecord) { this.totalRecord = totalRecord; //在设置总页数的时候计算出对应的总页数,在下面的三目运算中加法拥有更高的优先级,所以最后可以不加括号。 int totalPage = totalRecord % pageSize == 0 ? totalRecord / pageSize : totalRecord / pageSize + 1; this.setTotalPage(totalPage); } public int getTotalPage() { return totalPage; } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public List<T> getResults() { if(null != results && results.size() == 0){ return null; } return results; } public void setResults(List<T> results) { this.results = results; } public void setPageInfo(PageInfo<T> pageInfo) { this.setPageSize(pageInfo.getPageSize()); this.setPageNum(pageInfo.getPageNum()); this.setResults(pageInfo.getList()== null ? new ArrayList<T>() : pageInfo.getList()); this.setTotalRecord(new Long(pageInfo.getTotal()).intValue()); this.setTotalPage(pageInfo.getPages()); } @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("Page [pageNum=").append(pageNum).append(", pageSize=") .append(pageSize).append(", results=").append(results).append( ", totalPage=").append(totalPage).append( ", totalRecord=").append(totalRecord).append("]"); return builder.toString(); } }
分页方法在调用的用法
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15@RequestMapping(value = "/file",method = RequestMethod.GET) @ResponseBody public WebResponse file (String type,PageWrapper<File> page)throws Exception { try{ PageHelper.startPage(page.getPageNum(), page.getPageSize()); List<File> list = fileService.findFile(type); PageInfo pageInfo = new PageInfo(list); page.setPageInfo(pageInfo); return WebResponse.resSuccess("查询成功",page); }catch(Exception e){ logger.error("查询出错",e); } return WebResponse.resFail("查询失败",null); }
设置好页面的起始值和每页展示的内容数量,然后把查询出来的东西封装到pageInfo这个对象中,然后塞入page对象中,最后返回一个page对象就好了。
查询出来的结果就在result里面。
分页的pageInfo对象的封装(其实就是一个jar包)
复制代码
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337import java.io.Serializable; import java.util.Collection; import java.util.List; public class PageInfo<T> implements Serializable { private static final long serialVersionUID = 1L; private int pageNum; private int pageSize; private int size; private int startRow; private int endRow; private long total; private int pages; private List<T> list; private int prePage; private int nextPage; private boolean isFirstPage; private boolean isLastPage; private boolean hasPreviousPage; private boolean hasNextPage; private int navigatePages; private int[] navigatepageNums; private int navigateFirstPage; private int navigateLastPage; public PageInfo() { this.isFirstPage = false; this.isLastPage = false; this.hasPreviousPage = false; this.hasNextPage = false; } public PageInfo(List<T> list) { this(list, 8); } public PageInfo(List<T> list, int navigatePages) { this.isFirstPage = false; this.isLastPage = false; this.hasPreviousPage = false; this.hasNextPage = false; if(list instanceof Page) { Page page = (Page)list; this.pageNum = page.getPageNum(); this.pageSize = page.getPageSize(); this.pages = page.getPages(); this.list = page; this.size = page.size(); this.total = page.getTotal(); if(this.size == 0) { this.startRow = 0; this.endRow = 0; } else { this.startRow = page.getStartRow() + 1; this.endRow = this.startRow - 1 + this.size; } } else if(list instanceof Collection) { this.pageNum = 1; this.pageSize = list.size(); this.pages = this.pageSize > 0?1:0; this.list = list; this.size = list.size(); this.total = (long)list.size(); this.startRow = 0; this.endRow = list.size() > 0?list.size() - 1:0; } if(list instanceof Collection) { this.navigatePages = navigatePages; this.calcNavigatepageNums(); this.calcPage(); this.judgePageBoudary(); } } private void calcNavigatepageNums() { int i; if(this.pages <= this.navigatePages) { this.navigatepageNums = new int[this.pages]; for(i = 0; i < this.pages; ++i) { this.navigatepageNums[i] = i + 1; } } else { this.navigatepageNums = new int[this.navigatePages]; i = this.pageNum - this.navigatePages / 2; int endNum = this.pageNum + this.navigatePages / 2; int i; if(i < 1) { i = 1; for(i = 0; i < this.navigatePages; ++i) { this.navigatepageNums[i] = i++; } } else if(endNum > this.pages) { endNum = this.pages; for(i = this.navigatePages - 1; i >= 0; --i) { this.navigatepageNums[i] = endNum--; } } else { for(i = 0; i < this.navigatePages; ++i) { this.navigatepageNums[i] = i++; } } } } private void calcPage() { if(this.navigatepageNums != null && this.navigatepageNums.length > 0) { this.navigateFirstPage = this.navigatepageNums[0]; this.navigateLastPage = this.navigatepageNums[this.navigatepageNums.length - 1]; if(this.pageNum > 1) { this.prePage = this.pageNum - 1; } if(this.pageNum < this.pages) { this.nextPage = this.pageNum + 1; } } } private void judgePageBoudary() { this.isFirstPage = this.pageNum == 1; this.isLastPage = this.pageNum == this.pages || this.pages == 0; this.hasPreviousPage = this.pageNum > 1; this.hasNextPage = this.pageNum < this.pages; } public int getPageNum() { return this.pageNum; } public void setPageNum(int pageNum) { this.pageNum = pageNum; } public int getPageSize() { return this.pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getSize() { return this.size; } public void setSize(int size) { this.size = size; } public int getStartRow() { return this.startRow; } public void setStartRow(int startRow) { this.startRow = startRow; } public int getEndRow() { return this.endRow; } public void setEndRow(int endRow) { this.endRow = endRow; } public long getTotal() { return this.total; } public void setTotal(long total) { this.total = total; } public int getPages() { return this.pages; } public void setPages(int pages) { this.pages = pages; } public List<T> getList() { return this.list; } public void setList(List<T> list) { this.list = list; } /** @deprecated */ @Deprecated public int getFirstPage() { return this.navigateFirstPage; } /** @deprecated */ @Deprecated public void setFirstPage(int firstPage) { this.navigateFirstPage = firstPage; } public int getPrePage() { return this.prePage; } public void setPrePage(int prePage) { this.prePage = prePage; } public int getNextPage() { return this.nextPage; } public void setNextPage(int nextPage) { this.nextPage = nextPage; } /** @deprecated */ @Deprecated public int getLastPage() { return this.navigateLastPage; } /** @deprecated */ @Deprecated public void setLastPage(int lastPage) { this.navigateLastPage = lastPage; } public boolean isIsFirstPage() { return this.isFirstPage; } public void setIsFirstPage(boolean isFirstPage) { this.isFirstPage = isFirstPage; } public boolean isIsLastPage() { return this.isLastPage; } public void setIsLastPage(boolean isLastPage) { this.isLastPage = isLastPage; } public boolean isHasPreviousPage() { return this.hasPreviousPage; } public void setHasPreviousPage(boolean hasPreviousPage) { this.hasPreviousPage = hasPreviousPage; } public boolean isHasNextPage() { return this.hasNextPage; } public void setHasNextPage(boolean hasNextPage) { this.hasNextPage = hasNextPage; } public int getNavigatePages() { return this.navigatePages; } public void setNavigatePages(int navigatePages) { this.navigatePages = navigatePages; } public int[] getNavigatepageNums() { return this.navigatepageNums; } public void setNavigatepageNums(int[] navigatepageNums) { this.navigatepageNums = navigatepageNums; } public int getNavigateFirstPage() { return this.navigateFirstPage; } public int getNavigateLastPage() { return this.navigateLastPage; } public void setNavigateFirstPage(int navigateFirstPage) { this.navigateFirstPage = navigateFirstPage; } public void setNavigateLastPage(int navigateLastPage) { this.navigateLastPage = navigateLastPage; } public String toString() { StringBuffer sb = new StringBuffer("PageInfo{"); sb.append("pageNum=").append(this.pageNum); sb.append(", pageSize=").append(this.pageSize); sb.append(", size=").append(this.size); sb.append(", startRow=").append(this.startRow); sb.append(", endRow=").append(this.endRow); sb.append(", total=").append(this.total); sb.append(", pages=").append(this.pages); sb.append(", list=").append(this.list); sb.append(", prePage=").append(this.prePage); sb.append(", nextPage=").append(this.nextPage); sb.append(", isFirstPage=").append(this.isFirstPage); sb.append(", isLastPage=").append(this.isLastPage); sb.append(", hasPreviousPage=").append(this.hasPreviousPage); sb.append(", hasNextPage=").append(this.hasNextPage); sb.append(", navigatePages=").append(this.navigatePages); sb.append(", navigateFirstPage=").append(this.navigateFirstPage); sb.append(", navigateLastPage=").append(this.navigateLastPage); sb.append(", navigatepageNums="); if(this.navigatepageNums == null) { sb.append("null"); } else { sb.append('['); for(int i = 0; i < this.navigatepageNums.length; ++i) { sb.append(i == 0?"":", ").append(this.navigatepageNums[i]); } sb.append(']'); } sb.append('}'); return sb.toString(); } }
最后
以上就是细心发箍最近收集整理的关于分页查询_对分页的基本数据进行封装的全部内容,更多相关分页查询_对分页内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复