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 {@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测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/682367.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java程序设计】【C00260】基于Springboot的企业客户信息反馈平台(有论文)

基于Springboot的企业客户信息反馈平台(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的企业客户信息反馈平台 本系统分为平台功能模块、管理员功能模块以及客户功能模块。 平台功能模块:在平台首页可…

FastAI 之书(面向程序员的 FastAI)(六)

原文:www.bookstack.cn/read/th-fastai-book 译者:飞龙 协议:CC BY-NC-SA 4.0 第十三章:卷积神经网络 原文:www.bookstack.cn/read/th-fastai-book/44d8848dfac0c1b0.md 译者:飞龙 协议:CC BY-N…

【Java程序设计】【C00257】基于Springboot的校园二手书交易平台(有论文)

基于Springboot的校园二手书交易平台(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的乐校园二手书交易管理系统 本系统分为系统功能模块、管理员功能模块、卖家用户功能模块以及用户功能模块。 系统功能模块&…

【教程】C++语言基础学习笔记(九)——指针

写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 【C语言基础学习】系列文章 第一章 《项目与程序结构》 第二章 《数据类型》 第三章 《运算符》 第四章 《流程控制》 第五章…

消息中间件特点

1.  消息中间件概念 消息中间件是消息传递的过程中保存消息的容器。 主要目的:提供路由并保证消息的传递;如果发送消息时接受者不可用,消息队列会保留信息,直到可以成功传递为止。 消息中间件保存消息也是有期限的。 2.  消息…

车载软件架构 —— Adaptive AUTOSAR软件架构

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了&#…

【Zigbee课程设计系列文章】Zigbee开发环境搭建

【Zigbee课程设计系列文章】Zigbee开发环境搭建 前言IAR 下载安装Z-Stack协议栈安装 🎊项目专栏:【Zigbee课程设计系列文章】(附详细使用教程完整代码原理图完整课设报告) 前言 👑由于无线传感器网络(也即…

每日一练——月落乌啼算钱

题目: 举例: 输入:6,输出:8.00 最开始看到这道题还有点蒙,但是看到他的公式想起了斐波那契数列 1,1,2,3,5,8...... 由前两个数相加得到第三个数,为An2An1An。 可以得出这个题目中所给的通项就…

大更新!gpt加入记忆功能,可以记忆自己的提问啦!

2月14日凌晨,OpenAI在官网宣布,正在测试ChatGPT记住用户提问内容的能力,同时可以自由控制其内存。 该功能使用户不必频繁地提问相同的内容,ChatGPT都将记住那些内容并对长对话、个性化聊天等,例如,写长文小…

基于Python的HTTP隧道安全性分析:魔法背后的锁与钥匙

当我们谈论基于Python的HTTP隧道时,不禁让人想起那些神秘的魔法门。但是,在魔法背后,我们也需要确保安全性,就像需要确保魔法不会落入邪恶之手一样。那么,基于Python的HTTP隧道在安全性方面表现如何呢?让我…

小区开店的成功秘诀:如何满足老年人的需求?

在鲜奶吧行业摸爬滚打 5 年,我深切体会到,要在小区成功开店,满足老年人的需求至关重要。以下是我总结的一些经验,希望能给想开鲜奶吧或正在创业的朋友们提供有价值的参考。 一、产品特色与健康理念 1、产品特色: 提…

生成树技术华为ICT网络赛道

9.生成树 目录 9.生成树 9.1.生成树技术概述 9.2.STP的基本概念及工作原理 9.3.STP的基础配置 9.4.RSTP对STP的改进 9.5.生成树技术进阶 9.1.生成树技术概述 技术背景:二层交换机网络的冗余性与环路 典型问题1:广播风暴 典型问题2:MA…

深入理解C语言(4):文件操作详解

文章主题:文件操作详解🌏所属专栏:深入理解C语言📔作者简介:更新有关深入理解C语言知识的博主一枚,记录分享自己对C语言的深入解读。😆个人主页:[₽]的个人主页🏄&#x…

洛谷_P1059 [NOIP2006 普及组] 明明的随机数_python写法

这道题的关键在于去重和排序,去重可以联想到集合,那排序直接使用sort方法。 n int(input()) data set(map(int,input().split( ))) data list(data) data.sort() print(len(data)) for i in data:print(i,end )

进阶C语言-动态内存管理

动态内存管理 🎈1.为什么存在动态内存分配🎈2.动态内存函数的介绍🔭2.1malloc和free函数🔭2.2calloc函数🔭2.3realloc函数 🎈3.常见的动态内存错误🔭3.1对NULL指针的解引用操作🔭3.2…

PLC_博图系列☞FBFC

PLC_博图系列☞FB&FC 文章目录 PLC_博图系列☞FB&FC背景介绍FB&FC与C 类比博图中定义函数块 (FB)函数 (FC) 关键字: PLC、 西门子、 博图、 FC 、 FB 背景介绍 这是一篇关于PLC编程的文章,特别是关于西门子的博图软件。我并不是专业的P…

新项目,从0到1,SpringBoot+Vue.js权限管理系统,拿去做毕设

大家好,我是 jonssonyan 最近把以前做的权限管理系统重新整理了一下(将一些不规范的地方规范了一下,并且在关键地方写了注释),代码全部开源,这个项目是以现在主流的前后端分离模式开发的,包含前…

面试经典150题——串联所有单词的子串(困难)

"Opportunities dont happen, you create them." ​ - Chris Grosser 1. 题目描述 2. 题目分析与解析 2.1 思路一——暴力求解 遇见这种可能刚开始没什么思路的问题,先试着按照人的思维来求解该题目。对于一个人来讲,我想要找到 s 字符串中…

AJAXJSON入门篇

AJAX&JSON 概念:AJAX(Asynchronous JavaScript And XML):异步的JavaScript和XML AJAX作用: 与服务器进行数据交换:通过AJAX可以给服务器发送请求,并获取服务器响应的数据 使用了AJAX和服务器进行通信,就可以使用H…

基于servlet编写的表白墙项目(后端代码 含数据库操作)

前提准备 项目前端代码和效果 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"…