查詢使用者,判斷使用者名稱是否被佔用。
1.沒有被佔用,則註冊
2.被佔用,則顯示使用者名稱已被佔用!
service : UserService
public interface UserService { //根據使用者名稱查詢使用者 User findByUserName(String username); //註冊 void register(String username, String password); }
mapper : UserMapper
@Mapper public interface UserMapper { //根據使用者名稱查詢使用者 @Select("select * from user where username=#{username}") User findByUserName(String username); //新增 @Insert("insert into user(username,password,create_time,update_time)" + " values(#{username},#{password},now(),now())") void add(String username, String password); }
controller : UserController
import com.example.pojo.Result;
import com.example.pojo.User;
import com.example.service.UserService;
import jakarta.validation.constraints.Pattern;
import org.springframework.beans.factory.annotation.Autowired;
@RestController @RequestMapping("/user") @Validated public class UserController { @Autowired private UserService userService; @PostMapping("/register") public Result register(@Pattern(regexp = "^\\S{5,16}$") String username, @Pattern(regexp = "^\\S(5,16)$") String password) { //查詢使用者 User user = userService.findByUserName(username); if(user == null){ //沒有佔用,註冊 userService.register(username,password); return Result.success(); }else { //佔用 return Result.error("使用者名稱已被佔用!"); } } }