为了实现根据用户名查询用户功能,我们需要在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<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); }
总之,这四个类都是需要编写的,而且它们之间的关系也需要设计好。其中,user entity类和usermapper类与数据库之间的关系比较紧密,userservice类则是作为业务逻辑层的核心,而usercontroller类则是作为控制器层的核心,负责处理用户请求和返回响应结果。
5、postman测试结果
以上就是springboot如何实现用户名查找用户功能的详细内容。
