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("用户注册成功!");
}
-欢迎各位大佬前来指导!!!