前言:
在未使用spring data jpa时,我们还需要自己去写分页查询的代码,还需要建一个page实体类,在使用了jpa后,就不用那么麻烦了,因为有了Pageable,我们只需要传参数就好啦。
一、前端代码:
pagination: true,//分页控件 ,这是写在初始化模块中,必须为true,否则无效。
//设置分页控件
var p = $('#dataList').datagrid('getPager');
$(p).pagination({
pageSize: 10,//每页显示的记录条数,默认为10
pageList: [10,20,30,50,100],//可以设置每页记录条数的列表
beforePageText: '第',//页数文本框前显示的汉字
afterPageText: '页 共 {pages} 页',
displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录',
});
二、后台代码:
@PostMapping("/viewCourseList")
public void viewCourseList(HttpServletResponse response,@RequestParam(value = "rows")Integer size,
@RequestParam(value = "page")Integer page) throws Exception {
Sort sort = new Sort(Direction.DESC,"id");//设置排序关键字和方式
Pageable pageable = new PageRequest(page-1,size,sort);//将前端收到的值给pageable
Page<Course> listCourse = courseService.listCourse(pageable);//分页查询
List<Course> list = new ArrayList<>();//我发现Page集合不能直接传给前台,我又写了一个List
for (Course course : listCourse) {
list.add(course);
}
long total = courseService.getCount(); //查询总条数
Map<String, Object> ret = new HashMap<String, Object>();//将总数和分页内容放入map集合
ret.put("total", total);
ret.put("rows",list);
response.getWriter().write(JSONObject.fromObject(ret).toString());
}
一天积累一点!