使用PagingAndSortingRepository过滤数据

时间:2019-07-17 15:51:58

标签: spring-boot vue.js pagination spring-data-jpa vue-good-table

我在Vue js中有vue-good-table,该表应具有分页,排序和过滤功能。

从前端到后端,我传递以下对象:

@Getter
    @Setter
    @NoArgsConstructor
    public class PagingParams {

        private String searchTerm;

        private LinkedHashMap<String, String> columnFilters;

        private LinkedHashMap<String, String> sort;

        private int page;

        private int perPage;
    }

当前分页和排序工作正常:

Pageable pageable = PageRequest
                .of(pagingParams.getPage(), pagingParams.getPerPage(), Sort.by(direction, field));

        Page<Incident> allIncidents = incidentRepository.findAll(pageable);

    public interface IncidentRepository extends PagingAndSortingRepository<Incident, Long> {
    ...}

但是如何进行过滤?我的表有8列,在这些列的顶部,我可以输入一些数据以按不同的列进行过滤。编写大量查询来满足具有不同参数的不同查询要求是没有意义的。根据不同的过滤器参数创建动态查询的最简单方法是什么?例如,我必须按param1和param2进行过滤。再过一段时间,我可以从前端param4和param5获取这些字段的过滤条件...

0 个答案:

没有答案