Untuk melaksanakan fungsi menanyakan pengguna berdasarkan nama pengguna, kita perlu menulis beberapa kelas dalam rangka kerja but spring:
Ia ialah kelas entiti berdasarkan jadual pangkalan data Digunakan untuk merangkum maklumat asas pengguna. Dalam jadual ini, atribut berkaitan pengguna perlu ditakrifkan dan kaedah getter dan setter disediakan.
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; } }
Ia adalah antara muka berdasarkan MyBatis dan digunakan untuk mentakrifkan kaedah untuk operasi pangkalan data, seperti menyoal pengguna, menambah pengguna, mengemas kini pengguna, dsb.
@Mapper public interface UserMapper extends BaseMapper { List<UserEntity> findAllUser(); UserDTO getUserByUsername(String subject); }
Ia adalah lapisan logik perniagaan, yang bertanggungjawab terutamanya untuk menyelaraskan hubungan antara kelas UserMapper dan kelas Entiti Pengguna dan merealisasikan pemprosesan logik perniagaan. Dalam kelas ini, anda perlu menentukan kaedah untuk menanyakan pengguna berdasarkan nama pengguna mereka dan memanggil kaedah kelas UserMapper untuk melaksanakan operasi pertanyaan.
//用户名查询用户 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("查询失败,该用户不存在")); } }
Ia ialah lapisan pengawal, digunakan untuk memproses permintaan pengguna dan mengembalikan hasil yang sepadan. Dalam kelas ini, anda perlu menentukan kaedah pemprosesan permintaan, seperti kaedah untuk menanyakan pengguna berdasarkan nama pengguna dan mengembalikan data dalam 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); }
Ringkasnya, empat kelas ini perlu ditulis, dan hubungan antara mereka juga perlu direka bentuk. Antaranya, kelas Entiti Pengguna dan kelas UserMapper mempunyai hubungan rapat dengan pangkalan data Kelas UserService adalah teras lapisan logik perniagaan, dan kelas UserController adalah teras lapisan pengawal, bertanggungjawab untuk memproses permintaan pengguna dan membalas respons. keputusan.
Atas ialah kandungan terperinci Bagaimana springboot melaksanakan fungsi carian nama pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!