gpt4 book ai didi

java - Spring Boot中多字段搜索并实现分页

转载 作者:行者123 更新时间:2023-12-02 03:02:56 25 4
gpt4 key购买 nike

我有以下 requestDto 和 Controller

@PostMapping 
public responseDto search(@RequestBody SearchUserRequestDto request){
userService.search(request);
}
public class SearchUserRequestDto {

private Long userId;
private String firstName;
private String lastName;
private String role;
private String userType;
}

我想使用上面 Dto 中不为空的字段搜索用户存储库。

示例:如果firstName是“john”,lastName是“smith”并且其余字段为空,那么我必须在存储库中搜索所有记录WHERE名字是“john”AND姓氏是“smith”(不是>或)

我还必须为响应实现分页

我是 spring-boot 的新手,有人可以建议我该怎么做吗?

最佳答案

根据@mandar-dharurkar的建议,您可以使用org.springframework.data.domain.Pageable,但对于条件搜索,您可以使用如下所示的内容,

@Query("SELECT u FROM User u WHERE (:name is null or u.name = :name) and (:lastname is null"
null + " or u.lastname= :lastname)")
Page<User> search(@Param("name") String name, @Param("lastname") String lastname, Pageable pageable);

关于java - Spring Boot中多字段搜索并实现分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59678200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com