一、构建模块
1.创建实体类
User.java
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Accessors(chain = true)
public class User {
private String id;
private String name;
private String password;
private String status;
private Date regtime;
private String role;
}
2.UserController
//注册用户
@RequestMapping("/register")
@ResponseBody
public Result register(User user,String code,HttpSession session){
Result result = new Result();
//判断输入验证码是否正确
try{
String imageCode = (String) session.getAttribute("code");
if (imageCode.equalsIgnoreCase(code)){
userService.register(user);
return result.setMeg("注册成功").setStatus(true);
}
throw new RuntimeException("验证码错误...");
}catch (Exception e){
e.printStackTrace();
result.setMeg(e.getMessage()).setStatus(false);
}
return result;
}
3.UserService
public interface UserService {
void register(User user);
}
4.UserServiceImpl
@Service
@Transactional
public class UserServiceImpl implements UserService {
@Resource
private UserMapper userMapper;
@Override
public void register(User user) {
User userDb = userMapper.findByName(user.getName());
if(userDb != null){
throw new RuntimeException("当前用户名已被注册,请修改后再试");
}
user.setRegtime(new Date());
user.setStatus("激活");
userMapper.save(user);
}
}
5.UserMapper
public interface UserMapper {
void save(User user);
User findByName(String name);
}
6.UserMapper.xml
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
<insert id="save" parameterType="com.example.entity.User" useGeneratedKeys="true" keyProperty="id">
insert into t_user values (#{id},#{name},#{password},#{status},#{regtime},#{role})
</insert>
<select id="findByName" parameterType="String" resultType="User">
select id, name, password,status,regtime,role
from t_user
where name = #{name}
</select>
</mapper>