springboot项目账户注册逻辑功能实现
更新时间:2024年12月23日 09:47:21 作者:肆仟
这篇文章主要介绍了springboot项目账户注册逻辑功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧
记录一下实现注册逻辑功能,方便以后回顾。
逻辑如下:

/**
* 用户注册
* @param userAccount
* @param userPassword
* @param checkPassword
* @return
*/
@Override
public long userRegister(String userAccount, String userPassword, String checkPassword) {
// 1. 验证
// 非空校验
if (StringUtils.isAnyEmpty(userAccount, userPassword, checkPassword)){
return -1;
}
// 账户、密码长度校验
if (userAccount.length() < 4 || userPassword.length() < 8){
return -1;
}
// 账户不能包含特殊字符校验
if (userAccount.matches(".*[^a-zA-Z0-9].*")){
return -1;
}
// 密码与验证密码是否相同
if (!userPassword.equals(checkPassword)){
return -1;
}
// 验证账户是否重复。
// 这里放到最后校验的作用:当账户包含特殊字符时,无需对进行一次数据库查找操作,减少资源浪费
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("userAccount", userAccount);
long count = userMapper.selectCount(queryWrapper);
if (count > 0){
return -1;
}
// 2. 加密
// 加盐
final String SALT = "lyj";
String newPassword = DigestUtils.md5DigestAsHex((SALT + userPassword).getBytes(StandardCharsets.UTF_8));
// 3. 插入数据库
User user = new User();
user.setUserAccount(userAccount);
user.setAvatarUrl("");
user.setGender(0);
user.setUserPassword(newPassword);
user.setUserStatus(0);
user.setIsDelete(0);
int saveResult = userMapper.insert(user);
if (saveResult != 1){
return -1;
}
return user.getId();
}tips:这里在校验时,可以将校验账户是否重复注册放在校验的最后一步,当账户包含特殊字符时,无需对进行一次数据库查找操作,减少资源浪费。
到此这篇关于springboot项目账户注册逻辑功能实现的文章就介绍到这了,更多相关springboot账户注册逻辑内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
相关文章
java读取excel文件并复制(copy)文件到指定目录示例
这篇文章主要介绍了java读取excel文件并复制文件到指定目录示例,需要的朋友可以参考下2014-02-02
servlet的url-pattern匹配规则详细描述(小结)
在利用servlet或Filter进行url请求的匹配时,很关键的一点就是匹配规则。这篇文章主要介绍了servlet的url-pattern匹配规则详细描述(小结),非常具有实用价值,需要的朋友可以参考下2018-07-07
Java读取resources目录下文件路径的九种代码示例教程
在Java开发中经常需要读取项目中resources目录下的文件或获取资源路径,这篇文章主要给大家介绍了关于Java读取resources目录下文件路径的九种代码示例教程,文中通过代码介绍的非常详细,需要的朋友可以参考下2024-07-07
springboot结合mybatis-plus基于session模拟短信注册功能
本文主要介绍了springboot结合mybatis-plus基于session模拟短信注册功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-11-11


最新评论