Spring boot 中做一个简单的用户登录和注册

该博客介绍了如何在Springboot应用中实现用户登录和注册功能。通过MyBatis Mapper文件编写SQL语句,实现根据用户名和密码进行登录查询以及用户信息插入。Service和Impl层调用相关方法,Controller层处理请求并返回响应结果。用户登录时进行账号密码匹配,注册时检查用户是否存在及密码一致性。
摘要由CSDN通过智能技术生成

Spring boot 中做一个简单的用户登录和注册。

-在Mapper.xml文件中进行用户登录和注册时的Sql语句的编辑。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ManagementMapper">

    <resultMap
            type="com.ManagementInfo"
            id="Management">
        <result property="id" column="id"/>
        <result property="userId" column="user_id"/>
        <result property="userName" column="user_name"/>
        <result property="password" column="password"/>
    </resultMap>
    <!--   用户登录-->
    <select id="LoginUser" parameterType="String"
            resultMap="Management">
        select * from user
        <where>
            <if test="userName !=null and userName !='' ">
                and user_name =#{userName}
            </if>
            <if test="password != null and password !='' ">
                and password =#{password}
            </if>
        </where>
    </select>
<!--    注册用户-->
    <insert id="saveUser">
        insert into user(*,*,*,...)
        value(#{*},#{*},#{*},...)
    </insert>

</mapper>
  • Mapper包中我们要书写到的代码块。用户登录时对数据库进行一个查找,登录方法。用户注册时也对比数据库,进行数据比对添加的方法。
/**
     * 用户登录
     * @param username 用户名
     * @param password 密码
     * @return
     */
    ManagementInfo LoginUser(@Param("userName") String username,@Param("password") String password);

    /**
     * 注册用户
     * @param managementInfo
     */
    int saveUser(ManagementInfo managementInfo);

    /**
     * 查询用户列表
     * @param userName
     * @return
     */
    @Select("select * from user where user_name =#{userName}")
    public String selectUserList(String userName);

-Service包中对方法进行调用

  /**
     * 用户登录
     * @param username 用户名
     * @param password 密码
     * @return
     */
    ManagementInfo LoginUser(String username,String password);
    /**
     * 注册用户
     * @param managementInfo
     */
    int saveUser(ManagementInfo managementInfo);
    /**
     * 查询用户列表
     * @param userName
     * @return
     */
    public String selectUserList(String userName);

-Impl业务层实现各个方法

 /**
     * 用户登录
     * @param username 用户名
     * @param password 密码
     * @return
     */
    @Override
    public ManagementInfo LoginUser(String username, String password) {
        return managementMapper.LoginUser(username,password);
    }
    /**
     * 注册用户
     * @param managementInfo
     */
    @Override
    public int saveUser(ManagementInfo managementInfo) {
        return managementMapper.saveUser(managementInfo);
    }
    /**
     * 查询用户列表
     * @param userName
     * @return
     */
    @Override
    public String selectUserList(String userName) {
        return managementMapper.selectUserList(userName);
    }

-Controller包(控制层)对代码接口进行实现

/**
    * 用户登录
    * @param username 用户名
    * @param password 密码
    * @return
    */
   @ApiOperation(value = "用户登录")
   @PostMapping(path = "/LoginUser")
   public AjaxResult LoginUser(ModelMap modelMap, String username, String password) {
      ManagementInfo managementInfo = managementService.LoginUser(username,password);
      if (managementInfo!=null){
         modelMap.put("Management",managementInfo);
         return AjaxResult.success("登录成功");}
      return AjaxResult.error("账号与密码不一致,请重新输入!");
   }
    /**
    * 注册用户
    * @param managementInfo
    * @param rePassword 再次输入密码
    * @return
    */
   @ApiOperation(value = "注册用户")
   @PostMapping(path = "/saveUser")
   public AjaxResult saveUser(ManagementInfo managementInfo, String rePassword) {
      managementInfo.setDeleteState("1");
      if (managementService.selectUserList(managementInfo.getUserName()) != null) {
         return AjaxResult.error("用户已存在,请输入新的用户名");
      }else if (managementInfo.getPassword().equals(rePassword)) {
         managementService.saveUser(managementInfo);
      }else {
         return AjaxResult.error("两次密码不一致,请重新输入");
      }
      return AjaxResult.success("用户注册成功!");
   }

-欢迎各位大佬前来指导!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值