我在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获取这些字段的过滤条件...