Java教程

【九月打卡】第5天 Java支付全家桶 企业级各类支付手段一站式解决方案(5-2)

本文主要是介绍【九月打卡】第5天 Java支付全家桶 企业级各类支付手段一站式解决方案(5-2),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

课程名称:Java支付全家桶 企业级各类支付手段一站式解决方案

课程章节:5-2 封装用户登陆的后端模块?

主讲老师:神思者

课程内容:

今天课程学习的主要知识点内容包括:
开发用户登录网页模块的各个开发步骤和具体实现。

课程收获:

开发用户登录网页模块的各个开发步骤和具体实现如下:
(1)tep1: 定义登录表单 LoginForm,主要代码如下:

@Data
@ApiModel(value = "登录表单")
public class LoginForm {
    @ApiModelProperty(value = "用户名")
    @NotBlank(message="用户名不能为空")
    @Pattern(regexp = "^[A-Za-z0-9]{3,20}$", message = "用户名格式错误")
    private String username;

    @ApiModelProperty(value = "密码")
    @NotBlank(message="密码不能为空")
    @Pattern(regexp = "^[A-Za-z0-9]{6,20}$", message = "密码格式错误")
    private String password;
}

学习到了如何使用正则表达式校验表单参数,如

@Pattern(regexp = "^[A-Za-z0-9]{6,20}$", message = "密码格式错误")

(2)tep2:修改用户服务实现类 UserServiceImpl 中的登录逻辑实现,实现根据用户账号查找用户,并进行用户的验证,主要代码如下:

@Override
public long login(LoginForm form) {
	UserEntity user = baseMapper.selectOne(
			Wrappers.<UserEntity>lambdaQuery()
					.eq(UserEntity::getUsername, form.getUsername())
					.last("limit 1")
	);
	Assert.isNull(user, "账号或密码错误");

	//密码错误
	if(!user.getPassword().equals(DigestUtils.sha256Hex(form.getPassword()))){
		throw new RRException("账号或密码错误");
	}

	return user.getUserId();
}

(3)一边看视频学习,一边配套查找资料思考,可以收获到更多的知识点。

学习到了使用Mybabis-Plus中通过继承框架中服务类提供的默认实现的方法,实现单表操作,不需要再像原来使用Mybabis一样每个和数据库交互的查询、修改等操作都需要通过xml配置文件自定义编写SQL来实现,从而提升了尅发效率;
和视频里面的queryWrapper方式相比,这里额外关联学习了使用lambdaQuery的用法。

这篇关于【九月打卡】第5天 Java支付全家桶 企业级各类支付手段一站式解决方案(5-2)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!