为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
活动

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

主讲老师:神思者

课程内容:

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

课程收获:

开发用户登录网页模块的各个开发步骤和具体实现如下:
(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的用法。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消