当前位置: 首页 > news >正文

SpringBoot入门实战(第五篇:项目接口-用户管理)

🤟致敬读者

  • 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉

📘博主相关

  • 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息

文章目录

  • SpringBoot入门实战(第五篇:项目接口-用户管理)
    • 1. UserInfoController.java
    • 2. 接口测试
      • 2.1 **添加数据(注册账号)**
      • 2.2 **查询数据**
      • 2.3 **更新数据**
      • 2.4 **移除数据**


📃文章前言

  • 🔷文章均为学习工作中整理的笔记。
  • 🔶如有错误请指正,共同学习进步。

SpringBoot入门实战(第五篇:项目接口-用户管理)

SpringBoot入门实战系列篇专栏
SpringBoot入门实战(第一篇:环境准备和项目初始化)
SpringBoot入门实战(第二篇:MySQL集成配置)
SpringBoot入门实战(第三篇:MyBatis集成配置,自动生成代码配置)
SpringBoot入门实战(第四篇:Redis集成配置)
SpringBoot入门实战(第五篇:项目接口-用户管理)
SpringBoot入门实战(第六篇:项目接口-登录)
SpringBoot入门实战(第七篇:项目接口-商品管理)
SpringBoot入门实战(第八篇:项目接口-订单管理)完结篇
SpringBoot入门实战(项目搭建、配置、功能接口实现等一篇通关)


在com.xh.user.controller包下创建用户管理类UserInfoController.java

1. UserInfoController.java

UserInfoController.java代码

package com.xh.user.controller;import com.alibaba.fastjson.JSONObject;
import com.xh.user.dao.TbUser;
import com.xh.user.dao.TbUserImpl;
import com.xh.user.dao.TbUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.List;/*** @func:* @author: LiBai* @version: v1.0* @createTime: 2025/4/17 10:53*/
@CrossOrigin
@RestController
@RequestMapping(value = "/xh/v1/user")
public class UserInfoController {@AutowiredTbUserMapper tbUserMapper;@RequestMapping(value = "/addUserInfo")public JSONObject addUserInfo(@RequestBody JSONObject requestBody){TbUser tbUser = JSONObject.parseObject(requestBody.toJSONString(), TbUser.class);tbUserMapper.insert(tbUser);JSONObject result = new JSONObject();result.put("code", 200);result.put("data", requestBody);result.put("msg", "新增用户数据");return result;}@GetMapping(value = "/readUserInfo")public JSONObject readUserInfo(){TbUserImpl tbUserImpl = new TbUserImpl();List<TbUser> tbUsers = tbUserMapper.selectByExample(tbUserImpl);JSONObject result = new JSONObject();if (!tbUsers.isEmpty()){result.put("code", 200);result.put("data", tbUsers);result.put("msg", "查询所有用户数据");}else{result.put("code", 4000);result.put("data", "");result.put("msg", "数据为空");}return result;}@PutMapping(value = "/changeUserInfo")public JSONObject changeUserInfo(@RequestBody JSONObject requestBody){String username = requestBody.getString("username");TbUserImpl tbUserImpl = new TbUserImpl();TbUserImpl.Criteria criteria = tbUserImpl.createCriteria();criteria.andUsernameEqualTo(username);List<TbUser> tbUsers = tbUserMapper.selectByExample(tbUserImpl);JSONObject result = new JSONObject();if (!tbUsers.isEmpty()){// 这里使用updateByExampleSelective// 不能使用updateByExample,不然必须要含有id参数才能插入成功tbUserMapper.updateByExampleSelective(JSONObject.parseObject(requestBody.toJSONString(),TbUser.class), tbUserImpl);result.put("code", 200);result.put("data", requestBody);result.put("msg", "修改用户数据");return result;}else {result.put("code", 4000);result.put("data", "");result.put("msg", "修改用户数据失败,未找到对应数据");return result;}}@DeleteMapping(value = "/removeUserInfo")public JSONObject removeUserInfo(@RequestBody JSONObject requestBody){String username = requestBody.getString("username");TbUserImpl tbUserImpl = new TbUserImpl();TbUserImpl.Criteria criteria = tbUserImpl.createCriteria();criteria.andUsernameEqualTo(username);List<TbUser> tbUsers = tbUserMapper.selectByExample(tbUserImpl);JSONObject result = new JSONObject();if (!tbUsers.isEmpty()){tbUserMapper.deleteByExample(tbUserImpl);result.put("code", 200);result.put("data", requestBody);result.put("msg", "删除用户数据");return result;}else {result.put("code", 4000);result.put("data", "");result.put("msg", "删除用户数据失败,未找到对应数据");return result;}}}

2. 接口测试

2.1 添加数据(注册账号)

url

127.0.0.1:8088/xh/v1/user/addUserInfo

请求类型

POST

请求参数

{"username":"baijuyi","passWord":"965825","gender":"男","address":"上海市长宁区","pNumber":"18898985858","vipClass":1
}

postman截图
在这里插入图片描述

2.2 查询数据

url

127.0.0.1:8088/xh/v1/user/readUserInfo

请求类型

GET

请求参数 空


postman截图
在这里插入图片描述

2.3 更新数据

url

127.0.0.1:8088/xh/v1/user/updateUserInfo

请求类型

PUT

请求参数

{"username":"baijuyi","passWord":"965825","gender":"男","address":"上海市杨浦区","pNumber":"18898985858","vipClass":1
}

postman截图
在这里插入图片描述

2.4 移除数据

url

127.0.0.1:8088/xh/v1/user/removeUserInfo

请求类型

DELETE

请求参数

{"username":"libai"
}

postman截图
在这里插入图片描述


📜文末寄语

  • 🟠关注我,获取更多内容。
  • 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
  • 🟢《全栈知识库》技术交流和分享社区,集结全栈各领域开发者,期待你的加入。
  • 🔵​加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
  • 🟣点击下方名片获取更多内容🍭🍭🍭👇

http://www.xdnf.cn/news/74737.html

相关文章:

  • Missashe考研日记-day24
  • 品牌如何通过朝日新闻出海日本?——某企业日本媒体发稿实战
  • 小白学习java第14天(上):数据库
  • docker本地虚拟机配置
  • 用selenium4 webdriver + java 搭建并完成第一个自动化测试脚本
  • 【论文阅读24】并行 TCN-LSTM(2024-02)
  • 数据仓库ODS、DWD、DWS、ADS各层介绍
  • 【Linux】多进程任务模块
  • Arthas 指南
  • 在windows下安装windows+Ubuntu16.04双系统(下)
  • Java--数组的应用
  • 【Linux网络】应用层自定义协议与序列化
  • 怎么发布、更新Python第三方库?以potx-cloud为例
  • 算法学习(二)
  • PID控制程序编写
  • 20242817李臻《Linux⾼级编程实践》第8周
  • 辛格迪客户案例 | 浙江高跖医药委托生产质量管理协同(OWL MAH)项目
  • 2025-0421学习记录16——文献阅读与分享(1)
  • 判断链表是否为环(Java版本自己用)
  • 【技术追踪】Differential Transformer(ICLR-2025)
  • VMware制作Windows虚拟机模板注意点
  • 市场分析 3 mysql (槽)
  • vue部署到nginx服务器 启用gzip
  • 4月22日直播预告|AI赋能开发提效,三大应用场景实战分享
  • JavaScript实现二级菜单
  • 代码随想录第21天: 回溯算法3
  • Linux随记(十七)
  • SpringBoot入门实战(第二篇:MySQL集成配置)
  • 基于框架表示的不确定性推理
  • Web前端:Overflow属性(超出裁剪属性)