用户管理中心项目—用户注册

张开发
2026/4/16 11:57:15 15 分钟阅读

分享文章

用户管理中心项目—用户注册
✅用户注册约束1.用户在前端输入账户和密码以及校验码2.校验用户的账户、密码是否符合要求1.账户的话不小于4位2.密码不小于8位3.账户不能重复4.账户不能包含特殊字符5.密码和校验密码相同3.对密码进行加密密码千万不要直接存储到数据库中4.向数据库中插入数据✅用户注册后端代码1.完成用户输入账户密码校验码变量创建出用户注册需要接收哪些参数账户、密码、校验码package com.wjh.usercenter.service; import com.wjh.usercenter.model.domain.User; import com.baomidou.mybatisplus.extension.service.IService; /** * author WangJH * description 用户服务 * createDate 2026-01-08 17:21:03 */ public interface UserService extends IServiceUser { /** * 用户注册 * param userAccount 用户账户 * param userPassword 用户密码 * param checkPassword 用户校验码 * return 新用户ID */ long userRegister(String userAccount, String userPassword,String checkPassword); }2.完成用户注册接口实现在接口文件中实现用户注册约束1.用户在前端输入账户和密码以及校验码2.校验用户的账户、密码是否符合要求1.账户的话不小于4位2.密码不小于8位3.账户不能重复4.账户不能包含特殊字符5.密码和校验密码相同3.对密码进行加密密码千万不要直接存储到数据库中4.向数据库中插入数据package com.wjh.usercenter.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.wjh.usercenter.model.domain.User; import com.wjh.usercenter.service.UserService; import com.wjh.usercenter.mapper.UserMapper; import org.apache.catalina.mapper.Mapper; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.util.DigestUtils; import javax.annotation.Resource; import java.security.MessageDigest; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * author WangJH * description 用户服务实现类 * createDate 2026-01-08 17:21:03 */ Service public class UserServiceImpl extends ServiceImplUserMapper, User implements UserService{ Resource private UserMapper userMapper; Override public long userRegister(String userAccount, String userPassword, String checkPassword) { //1.校验 if (StringUtils.isAnyBlank(userAccount, userPassword, checkPassword)) { return -1; } if(userAccount.length()4){ return -1; } if(userPassword.length()8||checkPassword.length()8){ return -1; } // 账户不能包含特殊字符 String validPattern [~!#$%^*()|{}:;,\\\\[\\\\]./?~#%……*——|{}【】‘”“’。、]; Matcher matcher Pattern.compile(validPattern).matcher(userAccount); if (matcher.find()) { return -1; } //检验两次输入密码是否相同 if(!userPassword.equals(checkPassword)){ return -1; } //账户不能重复 QueryWrapperUser queryWrapper new QueryWrapperUser(); queryWrapper.eq(userAccount, userAccount); long count userMapper.selectCount(queryWrapper); if(count0){ return -1; } //2.加密 final String SALT wangjinghao; String newPassword DigestUtils.md5DigestAsHex((SALTuserPassword).getBytes()); //向数据库中插入数据 User user new User(); user.setUserAccount(userAccount); user.setUserPassword(newPassword); boolean saveResultthis.save(user); if(!saveResult){ return -1; } return user.getId(); } }✅后端代码测试选中需要测试的类使用AltEnter键点击下图中的生成测试方法在测试类中添加测试数据逐步调试一步一步验证功能完整性package com.wjh.usercenter.service; import java.util.Date; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import com.wjh.usercenter.model.domain.User; import static org.junit.jupiter.api.Assertions.*; //用户服务测试 SpringBootTest class UserServiceTest { Autowired private UserService userService; Test public void testAddUser() { User user new User(); user.setUsername(testWjh); user.setUserAccount(123); user.setAvatarUrl(); user.setGender(0); user.setUserPassword(123456); user.setPhone(123456789); user.setEmail(111); user.setUserStatus(0); user.setCreateTime(new Date()); user.setUpdateTime(new Date()); user.setIsDelete(0); user.setUserRole(0); user.setPlanetCode(); boolean result userService.save(user); System.out.println(user.getId()); Assertions.assertTrue(result); } Test void userRegister() { String userAccount 123; String password ; String checkPassword 12345678; long result userService.userRegister(userAccount, password, checkPassword); Assertions.assertEquals(-1, result); userAccount wa; result userService.userRegister(userAccount, password, checkPassword); Assertions.assertEquals(-1, result); userAccount testWjh; password 123456; result userService.userRegister(userAccount, password, checkPassword); Assertions.assertEquals(-1, result); userAccount test.Wjh; password 12345678; result userService.userRegister(userAccount, password, checkPassword); Assertions.assertEquals(-1, result); checkPassword 123456789; result userService.userRegister(userAccount, password, checkPassword); Assertions.assertEquals(-1, result); userAccount testWjh; checkPassword 12345678; result userService.userRegister(userAccount, password, checkPassword); Assertions.assertEquals(-1, result); userAccount testWjh; Assertions.assertEquals(-1, result); } }如若数据库中添加成功最后一个即符合用户注册约束注册成功

更多文章