为了实现根据用户名查询用户功能,我们需要在spring boot框架当中编写一下几个类:
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的接口,用于定义数据库操作的方法,例如查询用户、添加用户、更新用户等。
@Mapperpublic interface UserMapper extends BaseMapper { List findAllUser(); UserDTO getUserByUsername(String subject);}
登录后复制
3、UserService类
它是业务逻辑层,主要负责协调UserMapper类和User Entity类之间的关系,实现业务逻辑的处理。在这个类中,需要定义根据用户名查询用户的方法,并调用UserMapper类的方法实现查询操作。
//用户名查询用户 public ResultResponse findByUsername(String name) { QueryWrapper 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> findByUsername(@RequestParam String username, @RequestParam Integer pageNumber, @RequestParam Integer pageSize) { Page userPage = new Page(pageNumber, pageSize);// IPage user = (IPage) userService.selectByUsername(userPage, username); UserEntity user = userService.selectByUsername(userPage,username); if (user == null) { return ResultResponse.error("没有找到匹配的用户"); } return ResultResponse.ok("查询成功",user); }
登录后复制
总之,这四个类都是需要编写的,而且它们之间的关系也需要设计好。其中,User Entity类和UserMapper类与数据库之间的关系比较紧密,UserService类则是作为业务逻辑层的核心,而UserController类则是作为控制器层的核心,负责处理用户请求和返回响应结果。
5、postman测试结果
以上就是springboot如何实现用户名查找用户功能的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2626785.html