Heim >Java >javaLernprogramm >Wie Springboot die Benutzernamen-Suchfunktion implementiert

Wie Springboot die Benutzernamen-Suchfunktion implementiert

王林
王林nach vorne
2023-05-13 08:58:051218Durchsuche

Um die Funktion zum Abfragen von Benutzern basierend auf Benutzernamen zu implementieren, müssen wir mehrere Klassen im Spring Boot-Framework schreiben:

1 UserEnetity-Klasse

Es handelt sich um eine Entitätsklasse, die auf der Datenbanktabelle basiert und zum Kapseln verwendet wird die grundlegenden Informationen des Benutzers. In dieser Tabelle müssen benutzerbezogene Attribute definiert und Getter- und Setter-Methoden bereitgestellt werden.

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-Klasse

Es handelt sich um eine auf MyBatis basierende Schnittstelle, die zum Definieren von Methoden für Datenbankoperationen wie das Abfragen von Benutzern, das Hinzufügen von Benutzern, das Aktualisieren von Benutzern usw. verwendet wird.

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

3. UserService-Klasse

Es handelt sich um die Geschäftslogikschicht, die hauptsächlich für die Koordination der Beziehung zwischen der UserMapper-Klasse und der User Entity-Klasse sowie für die Implementierung der Geschäftslogikverarbeitung verantwortlich ist. In dieser Klasse müssen Sie eine Methode definieren, um Benutzer basierend auf ihrem Benutzernamen abzufragen, und die Methode der UserMapper-Klasse aufrufen, um den Abfragevorgang zu implementieren.

   //用户名查询用户
    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-Klasse

Es ist die Controller-Schicht, die zur Verarbeitung von Benutzeranfragen und zur Rückgabe entsprechender Ergebnisse verwendet wird. In dieser Klasse müssen Sie Methoden zur Anforderungsverarbeitung definieren, z. B. Methoden zum Abfragen von Benutzern basierend auf Benutzernamen und zum Zurückgeben von Daten im JSON-Format.

   //根据用户名查询用户--查询结果分每页十条显示
    @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);
    }

Kurz gesagt, diese vier Klassen müssen geschrieben werden und auch die Beziehung zwischen ihnen muss entworfen werden. Unter diesen haben die User Entity-Klasse und die UserMapper-Klasse eine enge Beziehung zur Datenbank. Die UserService-Klasse ist der Kern der Geschäftslogikschicht, und die UserController-Klasse ist der Kern der Controller-Schicht, die für die Verarbeitung von Benutzeranforderungen und die Rückgabe von Antworten verantwortlich ist Ergebnisse.

5. Postman-Testergebnisse

Wie Springboot die Benutzernamen-Suchfunktion implementiert

Das obige ist der detaillierte Inhalt vonWie Springboot die Benutzernamen-Suchfunktion implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen