>Java >java지도 시간 >springboot가 사용자 이름 검색 기능을 구현하는 방법

springboot가 사용자 이름 검색 기능을 구현하는 방법

王林
王林앞으로
2023-05-13 08:58:051262검색

사용자 이름을 기반으로 사용자를 쿼리하는 기능을 구현하려면 스프링 부트 프레임워크에서 여러 클래스를 작성해야 합니다.

1. UserEnetity 클래스

데이터베이스 테이블을 기반으로 하는 엔터티 클래스이며 캡슐화하는 데 사용됩니다. 사용자의 기본정보입니다. 이 테이블에서는 사용자 관련 속성을 정의하고 getter 및 setter 메소드를 제공해야 합니다.

public class UserEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
 
    private String name;
 
 
    public String getUsername() {
        return username;
    }
 
    public void setUsername(String username) {
        this.username = username;
    }
 
    private String username;
 
 
    private int role;
    private String avatar;
    private int status;
    private String password;
 
 
    public UserEntity(int id, String name, int role, String avatar, int status, String password,String username,String token) {
        this.id = id;
        this.name = name;
        this.role = role;
        this.avatar = avatar;
        this.status = status;
        this.password = password;
        this.username = username;
    }
 
    public UserEntity() {
 
    }
 
 
    public int getId() {
        return id;
    }
 
    public void setId(int id) {
        this.id = id;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
 
 
    public int getRole() {
        return role;
    }
 
    public void setRole(int role) {
        this.role = role;
    }
 
    public String getAvatar() {
        return avatar;
    }
 
    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }
 
    public int getStatus() {
        return status;
    }
 
    public void setStatus(int status) {
        this.status = status;
    }
 
    public String getPassword() {
        return password;
    }
 
    public void setPassword(String password) {
        this.password = password;
    }
}

2. UserMapper 클래스

MyBatis 기반 인터페이스로 사용자 쿼리, 사용자 추가, 사용자 업데이트 등의 데이터베이스 작업을 위한 메서드를 정의하는 데 사용됩니다.

@Mapper
public interface UserMapper extends BaseMapper {
    List<UserEntity> findAllUser();
 
    UserDTO getUserByUsername(String subject);
}

3. UserService 클래스

비즈니스 로직 계층으로 주로 UserMapper 클래스와 User Entity 클래스 간의 관계를 조정하고 비즈니스 로직 처리를 구현하는 일을 담당합니다. 이 클래스에서는 사용자 이름을 기반으로 사용자를 쿼리하는 메서드를 정의하고 UserMapper 클래스의 메서드를 호출하여 쿼리 작업을 구현해야 합니다.

   //用户名查询用户
    public ResultResponse findByUsername(String name) {
        QueryWrapper<UserEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("name", name);
        UserEntity user = (UserEntity) userMapper.selectOne(queryWrapper);
        if (user != null) {
            return ResultResponse.returnToken(ResultResponse.success("查询成功", user));
        } else {
            return ResultResponse.returnToken(ResultResponse.fail("查询失败,该用户不存在"));
        }
    }

4. UserController 클래스

사용자 요청을 처리하고 해당 결과를 반환하는 데 사용되는 컨트롤러 계층입니다. 이 클래스에서는 사용자 이름을 기반으로 사용자를 쿼리하고 데이터를 JSON 형식으로 반환하는 메서드와 같은 요청 처리 메서드를 정의해야 합니다.

   //根据用户名查询用户--查询结果分每页十条显示
    @GetMapping("user/findByUsername")
    public ResultResponse<IPage<UserEntity>> findByUsername(@RequestParam String username,
                                                            @RequestParam Integer pageNumber,
                                                            @RequestParam Integer pageSize) {
        Page<UserEntity> userPage = new Page<>(pageNumber, pageSize);
//        IPage<UserEntity> user = (IPage<UserEntity>) userService.selectByUsername(userPage, username);
        UserEntity user = userService.selectByUsername(userPage,username);
 
        if (user == null) {
            return ResultResponse.error("没有找到匹配的用户");
        }
        return ResultResponse.ok("查询成功",user);
    }

요컨대 이 4개의 클래스를 작성해야 하고, 이들 간의 관계도 설계해야 합니다. 그 중 User Entity 클래스와 UserMapper 클래스는 데이터베이스와 밀접한 관계를 가지고 있습니다. UserService 클래스는 비즈니스 로직 계층의 핵심이고, UserController 클래스는 사용자 요청을 처리하고 응답을 반환하는 역할을 하는 컨트롤러 계층의 핵심입니다. 결과.

5. 우편 배달부 테스트 결과

springboot가 사용자 이름 검색 기능을 구현하는 방법

위 내용은 springboot가 사용자 이름 검색 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제