1.1.1 给User实体类添加校验
package com.geji.pojo;import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Data;import java.time.LocalDateTime;
//lombok 在编译阶段,为实体类自动生成setter getter toString
// pom文件中引入依赖 在实体类上添加注解
@Data
public class User {@NotNullprivate Integer id;//主键IDprivate String username;//用户名@JsonIgnore//让springmvc把当前对象转换成json字符串的时候,忽略password,最终的json字符串中就没有password这个属性了private String password;//密码@NotEmpty@Pattern(regexp = "^\\S{1,10}$")private String nickname;//昵称@NotEmpty@Emailprivate String email;//邮箱private String userPic;//用户头像地址private LocalDateTime createTime;//创建时间private LocalDateTime updateTime;//更新时间
}
1.1.1 UserController中添加update方法
@PutMapping("/update")public Result update(@RequestBody @Validated User user) {userService.update(user);return Result.success();}
1.1.2 UserService中添加update接口
package com.geji.service;import com.geji.pojo.User;public interface UserService {//根据用户名查找用户User findByUserName(String username);//根据用户名和密码注册void register(String username, String password);void update(User user);
}
1.1.3 UserServiceImpl中添加update实现类
@Overridepublic void update(User user) {user.setUpdateTime(LocalDateTime.now());userMapper.update(user);}
1.1.4 UserMapper中添加update方法
package com.geji.mapper;import com.geji.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;@Mapper
public interface UserMapper {//根据用户名查询用户@Select("select * from user where username=#{username}")User findByUserName(String username);//添加@Insert("insert into user(username,password,create_time,update_time)" +" values(#{username},#{password},now(),now())")void add(String username, String password);@Update("update user set nickname=#{nickname},email=#{email},update_time=#{updateTime} where id=#{id}")void update(User user);}
1.1.5 使用postman测试