`
endual
  • 浏览: 3510492 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

spring data jpa 分页

 
阅读更多
public Page<Task> getUserTask(Long userId, Map<String, Object> searchParams, int pageNumber, int pageSize,
String sortType) {
PageRequest pageRequest = buildPageRequest(pageNumber, pageSize, sortType);
Specification<Task> spec = buildSpecification(userId, searchParams);

return taskDao.findAll(spec, pageRequest);
}

/**
* 创建分页请求.
*/
private PageRequest buildPageRequest(int pageNumber, int pagzSize, String sortType) {
Sort sort = null;
if ("auto".equals(sortType)) {
sort = new Sort(Direction.DESC, "id");
} else if ("title".equals(sortType)) {
sort = new Sort(Direction.ASC, "title");
}

return new PageRequest(pageNumber - 1, pagzSize, sort);
}

/**
* 创建动态查询条件组合.
*/
private Specification<Task> buildSpecification(Long userId, Map<String, Object> searchParams) {
Map<String, SearchFilter> filters = SearchFilter.parse(searchParams);
filters.put("user.id", new SearchFilter("user.id", Operator.EQ, userId));
Specification<Task> spec = DynamicSpecifications.bySearchFilter(filters.values(), Task.class);
return spec;
}
分享到:
评论
2 楼 牛BB 2015-09-15  
searchParams  这个参数到这一步Map<String, SearchFilter> filters = SearchFilter.parse(searchParams); 我就报错,不清楚怎么回事。有什么要求吗?或者能否贴出action部分的代码啊。 
1 楼 2047699523 2015-04-29  
spring data jpa相关代码demo下载:http://www.zuidaima.com/share/kjpa-p1-s1.htm

相关推荐

Global site tag (gtag.js) - Google Analytics