1.注册接口
Lombok:在编译阶段,为实体类自动生成getter,setter,toString
如何使用? 在pom文件中引入依赖;在实体类上添加注解
<!-- lombok依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
之后在实体类上添加@Data注解即可
1.1.开发流程
明确需求 阅读接口文档 思路分析 开发 测试
注册登录的响应数据是一样的,定义一个Result类来接受
有三个成员变量code,message,data
@NoArgsConstructor
@AllArgsConstructor
public class Result<T> {
private Integer code;//业务状态码 0-成功 1-失败
private String message;//提示信息
private T data;//响应数据
public static <E> Result<E> success(E data){
return new Result<>(0,"操作成功",data);
}
public static Result success(){
return new Result(0,"操作成功",null);
}
public static Result error(String message){
return new Result(1,message,null);
}
}
创建UserController和UserService与实现类UserServiceImpl以及UserMapper
UserController
@RestController
@RequestMapping("/user")
public class UserController {
// 注入UserService对象
@Autowired
private UserService userService;
// 注册方法
@PostMapping("/register")
public Result register(String username,String password){
// 查询用户,需要调用Service层的方法
User u = userService.findByUserName(username);
// 判断是否占用
if(u == null){
// 没被占用,执行注册
userService.register(username,password);
return Result.success();
}
else{
// 被占用
return Result.error("该用户已注册!");
}
}
}
UserService
public interface UserService {
// 根据用户名查询用户
User findByUserName(String username) {
}
// 注册
void register(String username, String password) {
}
}
UserServiceImpl
@Service
public class UserServiceImpl implements UserService {
//注入UserMapper对象
@Autowired
private UserMapper userMapper;
// 要实现这个方法,需要调用mapper层对应的方法去执行sql查询
@Override
public User findByUserName(String username) {
User u = userMapper.findByUserName(username);
return u;
}
@Override
public void register(String username, String password) {
//密码进行加密处理
//调用mapper层的方法添加至数据库
userMapper.add(username,password);
}
}
UserMapper
public interface UserMapper {
//根据用户名查询
@Select("select * from user where username=#{username}")
User findByUserName(String username);
//注册,添加至数据库
@Insert("insert into user(username,password,create_time,update_time)" +
"")
void add(String username, String password);
}
Insert部分,在)和"中间按回车自动下一行
遇到启动报错问题!!!!
重打了一遍还是不行,最后找到了一篇文章解决
springboot和mybatis的版本有问题,SpringBoot版本3.2.3要和Mybatis3.0.3版本
解决的文章:https://blog.youkuaiyun.com/m0_73641796/article/details/136637178
接遇到的问题:
用postman测试接口的时候遇到报错500,查看SQL语句是否写错!!