Maison >Java >javaDidacticiel >Comment Springboot implémente la fonction de recherche de nom d'utilisateur

Comment Springboot implémente la fonction de recherche de nom d'utilisateur

王林
王林avant
2023-05-13 08:58:051249parcourir

Afin d'implémenter la fonction d'interrogation des utilisateurs en fonction des noms d'utilisateur, nous devons écrire plusieurs classes dans le framework Spring Boot :

1 Classe UserEnetity

. Il est basé sur la base de données. La classe d'entité de la table est utilisée pour encapsuler les informations de base de l'utilisateur. Dans ce tableau, les attributs liés à l'utilisateur doivent être définis et les méthodes getter et setter fournies.

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. Classe UserMapper

C'est une interface basée sur MyBatis et est utilisée pour définir des méthodes pour les opérations de base de données, telles que l'interrogation des utilisateurs, l'ajout d'utilisateurs, la mise à jour des utilisateurs, etc. .

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

3. Classe UserService

C'est la couche de logique métier, qui est principalement chargée de coordonner la relation entre la classe UserMapper et la classe User Entity et de réaliser le traitement des logique métier. Dans cette classe, vous devez définir une méthode pour interroger les utilisateurs en fonction de leur nom d'utilisateur et appeler la méthode de la classe UserMapper pour implémenter l'opération de requête.

   //用户名查询用户
    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. Classe UserController

C'est la couche contrôleur, utilisée pour traiter les demandes des utilisateurs et renvoyer les résultats correspondants. Dans cette classe, vous devez définir des méthodes de traitement des requêtes, telles que des méthodes pour interroger les utilisateurs en fonction des noms d'utilisateur et renvoyer les données au format 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);
    }

En bref, ces quatre classes doivent être écrites, et la relation entre elles doit également être conçue. Parmi elles, la classe User Entity et la classe UserMapper ont une relation étroite avec la base de données. La classe UserService est le cœur de la couche de logique métier, et la classe UserController est le cœur de la couche contrôleur, responsable du traitement des demandes des utilisateurs et du renvoi des réponses. résultats.

5, résultats des tests du facteur

Comment Springboot implémente la fonction de recherche de nom dutilisateur

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer