将findAll PagingAndSortingRepository与过滤器一起使用
问题内容:
我需要使用PagingAndSortingRepository以获得元素列表。我还需要使用RequestParam过滤此列表。
在控制器中,我有:
@RequestMapping(path = "/listfilter", method = RequestMethod.GET)
public Page<Element> getElements(
@RequestParam("page") int page,
@RequestParam("size") int size,
@RequestParam("aaa") String filter) {
Filter filter = new Filter();
filter.setPageNum(page);
filter.setPageSize(size);
filter.setAaa(aaa);
return controller.findElements(filter);
}
如何将过滤后的列表传递给方法
Page<Element> findElements(Pageable pageable) {...}
谢谢
问题答案:
假设’aaa’是一个字符串(用户名或smth),使用Spring JPA,PagingAndSortingRepository
您可以执行以下操作:
Page<Element> findAllByAaa(String aaaValue, Pageable pageable)
;
网址可能如下所示: /elements/aaa?page=pageNr&size=nrOfElemOnPage
它将在您的表上进行迭代,选择其中的元素aaa = aaaValue
,然后将它们放入Pageable
我认为这是一个更好,更清洁的方法。