Spring Boot 笔记 009 创建接口_更新用户基本信息

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 {
    @NotNull
    private Integer id;//主键ID
    private String username;//用户名
    @JsonIgnore//让springmvc把当前对象转换成json字符串的时候,忽略password,最终的json字符串中就没有password这个属性了
    private String password;//密码


    @NotEmpty
    @Pattern(regexp = "^\\S{1,10}$")
    private String nickname;//昵称

    @NotEmpty
    @Email
    private 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实现类

    @Override
    public 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测试

相关推荐

  1. 基于SpringBoot使用AOP开发接口的访问日志信息

    2024-02-14 10:08:01       43 阅读
  2. Linux基本用户管理-001

    2024-02-14 10:08:01       12 阅读
  3. SpringBoot获取用户的ip地址信息

    2024-02-14 10:08:01       41 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-14 10:08:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-14 10:08:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-14 10:08:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-14 10:08:01       20 阅读

热门阅读

  1. 数据结构+算法基本知识

    2024-02-14 10:08:01       32 阅读
  2. 【生产实测有效】Linux磁盘清理常用命令

    2024-02-14 10:08:01       32 阅读
  3. C语言静态库深入剖析

    2024-02-14 10:08:01       27 阅读
  4. Python Flask Web 框架学习笔记+完整项目

    2024-02-14 10:08:01       31 阅读
  5. 2024.2.6

    2024.2.6

    2024-02-14 10:08:01      21 阅读
  6. STM32面试相关问题

    2024-02-14 10:08:01       29 阅读
  7. Node.js开发-fs模块

    2024-02-14 10:08:01       26 阅读
  8. Node.js基础---path路径模块

    2024-02-14 10:08:01       28 阅读
  9. MongoDB聚合:$graphLookup

    2024-02-14 10:08:01       26 阅读