【在线教育平台】注册的实现流程

今天我们来说说注册的实现流程。要实现的效果如下:
在这里插入图片描述
业务流程为:
1、判断该用户是否存在
2、如果存在,提示用户“已被注册”
3、如果不存在,将用户名和密码存入数据库

所以对于后端来说,需要提供两个接口:
1、根据用户名查询此用户名是否存在
2、将用户名和密码存入数据库

controller层

在这里插入图片描述
在controller层中,进行了逻辑判断。
1、进行验证码的判断,如果错误,进行提示。
2、如果验证码正确,则将从后端查询到的值赋给tmpUser。如果tmpUser不为空,说明数据库中已有此用户名,提示用户“已被注册”。
3、如果tmpUser为空,则将密码用MD5加密后,将用户名和密码一同传输到service层。最后返回给用户“注册成功”。

备注一:

authUser里面存储的是从前端传过来的数据。
在这里插入图片描述

备注二:

不知读者是否会有疑问,0、1、2是什么意思呢?看看前端代码就明白了,这就类似于“暗号”。
在这里插入图片描述
那是怎么设置的呢?
在这里插入图片描述

service层
因为这个项目代码的逻辑判断都在controller层实现了,所以service只是一个接口的传递。service和serviceImpl如图。

在这里插入图片描述
在这里插入图片描述

dao层

在这里插入图片描述

mapper层

mapper层是真正写sql语句的地方。
在这里插入图片描述

<insert id="createSelectivity" parameterType="com.online.college.core.auth.domain.AuthUser" flushCache="true"
            useGeneratedKeys="true" keyProperty="id">
        INSERT INTO t_auth_user
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="realname != null ">
                realname,
            </if>
            <if test="username != null ">
                username,
            </if>
            <if test="password != null ">
                password,
            </if>
        </trim>
        VALUES
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="realname != null ">
                #{realname, jdbcType=VARCHAR},
            </if>
            <if test="username != null ">
                #{username, jdbcType=VARCHAR},
            </if>
            <if test="password != null ">
                #{password, jdbcType=VARCHAR},
            </if>
        </trim>
    </insert>

在后者将用户名和密码存入数据库的sql中,用到了if这个动态sql语句,意思是:如果有这项,则存入;如果没有,就不存入。

小结

这只是一个简单的注册,记录下来,只是想记录下实现思路。
初次写这种纯记录的博客,不知如何下手,感觉写的条理有点乱,还请读者多包涵。如有不妥之处,欢迎交流。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡夫卡的熊kfk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值