> Java > java지도 시간 > 본문

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

王林
풀어 주다: 2023-05-13 08:58:05
앞으로
1204명이 탐색했습니다.

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

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿