步骤1:在common模块下,创建对应的工具类
/** 创建性别枚举(Sex)*/
/** md5加密类(MD5Utils)*/
/** 时间转换格式化类(DateUtil)*/
/** 生成全局唯一主机id (Sid)*/
步骤2:在pojo模块下,创建表单封装bo对象
/** 注册表单bo对象 UserBO*/
步骤3:在service模块下,UserService接口和实现类中添加创建用户方法
/** 创建用户接口*/
public Users createUser(UserBO userBO);
/** 创建用户实现*/
@Autowired
private Sid sid;
private static final String USER_FACE = "http://122.152.205.72:88/group1/M00/00/05/CpoxxFw_8_qAIlFXAAAcIhVPdSg994.png";
@Transactional(propagation = Propagation.REQUIRED)
@Override
public Users createUser(UserBO userBO) {
String userId = sid.nextShort();
Users user = new Users();
user.setId(userId);
user.setUsername(userBO.getUsername());
try {
user.setPassword(MD5Utils.getMD5Str(userBO.getPassword()));
} catch (Exception e) {
e.printStackTrace();
}
// 默认用户昵称同用户名
user.setNickname(userBO.getUsername());
// 默认头像
user.setFace(USER_FACE);
// 默认生日
user.setBirthday(DateUtil.stringToDate("1900-01-01"));
// 默认性别为 保密
user.setSex(Sex.secret.type);
user.setCreatedTime(new Date());
user.setUpdatedTime(new Date());
usersMapper.insert(user);
return user;
}
步骤4:在api模块下,UserController创建注册接口
@PostMapping("/regist")
public JSONResult regist(@RequestBody UserBO userBO) {
String username = userBO.getUsername();
String password = userBO.getPassword();
String confirmPwd = userBO.getConfirmPassword();
// 0. 判断用户名和密码必须不为空
if (StringUtils.isBlank(username) || StringUtils.isBlank(password) || StringUtils.isBlank(confirmPwd)) {
return JSONResult.errorMsg("用户名或密码不能为空");
}
// 1. 查询用户名是否存在
boolean isExist = userService.queryUsernameIsExist(username);
if (isExist) {
return JSONResult.errorMsg("用户名已经存在");
}
// 2. 密码长度不能少于6位
if (password.length() < 6) {
return JSONResult.errorMsg("密码长度不能少于6");
}
// 3. 判断两次密码是否一致
if (!password.equals(confirmPwd)) {
return JSONResult.errorMsg("两次密码输入不一致");
}
// 4. 实现注册
userService.createUser(userBO);
return JSONResult.ok();
}
步骤5:启动类添加扫描所有包以及相关组件包
@SpringBootApplication
// 扫描mybatis通用mapper所在的包
@MapperScan(basePackages="com.one.mapper")
// 扫描所有包以及相关组件包
@ComponentScan(basePackages = {"com.one", "org.n3r.idworker"})
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
源码地址:
http://www.gxcode.top/code