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

SpringBoot入门实战(第八篇:项目接口-订单管理)完结篇

🤟致敬读者

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

📘博主相关

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

文章目录

  • SpringBoot入门实战(第八篇-完结篇:项目接口-订单管理)
    • 1. 建表
    • 2. 接口创建(OrderInfoController.java)
    • 3. 接口测试
      • 3.1 **新增商品数据**
      • 3.2 **查询商品数据**
      • 3.3 **更新商品数据**
      • 3.4 **移除商品数据**


📃文章前言

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

SpringBoot入门实战(第八篇-完结篇:项目接口-订单管理)

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


1. 建表

创建商品表tb_order

CREATE TABLE tb_order(id INT AUTO_INCREMENT PRIMARY KEY,o_id INT NOT NULL COMMENT "订单号(订单id)",username VARCHAR(255) NOT NULL COMMENT "客户名称",o_price DOUBLE NOT NULL COMMENT "订单价格",o_time VARCHAR(255) NOT NULL COMMENT "下单时间",o_status VARCHAR(255) NOT NULL COMMENT "订单状态"
);

2. 接口创建(OrderInfoController.java)

在com.xh.order.dao包下根据表tb_order生成代码,配置好注解后
在com.xh.order.controller包下创建商品管理类OrderInfoController.java
代码如下

package com.xh.order.controller;import com.alibaba.fastjson.JSONObject;
import com.xh.order.dao.TbOrder;
import com.xh.order.dao.TbOrderImpl;
import com.xh.order.dao.TbOrderMapper;
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/18 14:10*/
@CrossOrigin
@RestController
@RequestMapping(value = "/xh/v1/order")
public class OrderInfoController {@AutowiredTbOrderMapper tbOrderMapper;@PostMapping(value = "/addOrderInfo")public JSONObject addOrderInfo(@RequestBody JSONObject requestBody){TbOrderImpl tbOrderImpl = new TbOrderImpl();TbOrderImpl.Criteria criteria = tbOrderImpl.createCriteria();criteria.andOIdEqualTo(requestBody.getString("oId"));List<TbOrder> tbOrders = tbOrderMapper.selectByExample(tbOrderImpl);JSONObject result = new JSONObject();if (tbOrders.isEmpty()){tbOrderMapper.insert(JSONObject.parseObject(requestBody.toJSONString(), TbOrder.class));result.put("code", 200);result.put("data", requestBody);result.put("msg", "新增订单数据");}else{result.put("code", 4000);result.put("data", "");result.put("msg", "新增订单数据失败,此订单数据已存在");}return result;}@GetMapping(value = "/readOrderInfo")public JSONObject readOrderInfo(){TbOrderImpl tbOrderImpl = new TbOrderImpl();List<TbOrder> tbOrders = tbOrderMapper.selectByExample(tbOrderImpl);JSONObject result = new JSONObject();if (!tbOrders.isEmpty()){result.put("code", 200);result.put("data", tbOrders);result.put("msg", "查询订单数据");}else{result.put("code", 4000);result.put("data", "");result.put("msg", "查询订单数据失败,未查询到订单数据");}return result;}@PutMapping(value = "/changeOrderInfo")public JSONObject changeOrderInfo(@RequestBody JSONObject requestBody){TbOrderImpl tbOrderImpl = new TbOrderImpl();TbOrderImpl.Criteria criteria = tbOrderImpl.createCriteria();criteria.andOIdEqualTo(requestBody.getString("oId"));List<TbOrder> tbOrders = tbOrderMapper.selectByExample(tbOrderImpl);JSONObject result = new JSONObject();if (!tbOrders.isEmpty()){tbOrderMapper.updateByExampleSelective(JSONObject.parseObject(requestBody.toJSONString(), TbOrder.class),tbOrderImpl);result.put("code", 200);result.put("data", requestBody);result.put("msg", "更新订单数据");}else{result.put("code", 4000);result.put("data", "");result.put("msg", "更新订单数据失败,未查询到此订单数据");}return result;}@DeleteMapping(value = "/removeOrderInfo")public JSONObject removeOrderInfo(@RequestBody JSONObject requestBody){TbOrderImpl tbOrderImpl = new TbOrderImpl();TbOrderImpl.Criteria criteria = tbOrderImpl.createCriteria();criteria.andOIdEqualTo(requestBody.getString("oId"));List<TbOrder> tbOrders = tbOrderMapper.selectByExample(tbOrderImpl);JSONObject result = new JSONObject();if (!tbOrders.isEmpty()){tbOrderMapper.deleteByExample(tbOrderImpl);result.put("code", 200);result.put("data", requestBody);result.put("msg", "移除订单数据");}else{result.put("code", 4000);result.put("data", "");result.put("msg", "移除订单数据失败,此订单数据不存在");}return result;}}

3. 接口测试

3.1 新增商品数据

url

127.0.0.1:8088/xh/v1/order/addOrderInfo

请求类型

POST

请求参数

{"oId": "20250418152634000001","username": "libai","oPrice": 121.20,"oTime": "2025-04-18,15:26:34","oStatus": "配送中"}

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

3.2 查询商品数据

url

127.0.0.1:8088/xh/v1/order/readOrderInfo

请求类型

GET

请求参数 空


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

3.3 更新商品数据

url

127.0.0.1:8088/xh/v1/order/updateOrderInfo

请求类型

PUT

请求参数

{"oId": "20250418154624000002","username": "liqingzhao","oPrice": 166.89,"oTime": "2025-04-18,15:46:24","oStatus": "未配送"}

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

3.4 移除商品数据

url

127.0.0.1:8088/xh/v1/order/removeOrderInfo

请求类型

DELETE

请求参数

{"oId": "20250418154624000002"}

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

以上就是入门实战全部内容


📜文末寄语

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

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

相关文章:

  • 高功率激光输出稳定性不足?OAS 光学软件来攻克
  • ap无法上线问题定位(交换机发包没有剥掉pvid tag)
  • 配置模块开发
  • 删除elementplus的li标签中的一个class属性?
  • Vivado与Modelsim联合仿真卡在Executing analysis and compilation step...
  • 利用 Claw Cloud Run 免费应用部署前端网页
  • 天梯——L1-110 这不是字符串题
  • navicat数据表筛选删除空白行
  • 革新AI生产力,比象AI源码 - 下一代智能创作引擎
  • 【android bluetooth 协议分析 06】【l2cap详解 9】【L2cap通道生命周期】
  • RK3588芯片NPU的使用:官方rknn_yolov5_android_apk_demo运行与解读
  • 智慧景区国标GB28181视频平台EasyGBS视频融合应用全场景解决方案
  • hackmyvm-atom
  • 第17章:MCP框架构建知识工作助手
  • MySQL的下载、安装、配置
  • LeetCode算法题(Go语言实现)_60
  • Activepieces - 开源自动化工具
  • 基于crontabs对nginx日志进行定时切割
  • 新时代质量管理体系-端到端流程通俗演义,什么是端到端流程?
  • Ubuntu22学习记录
  • 编程技能:调试07,启动和禁用断点
  • 哈希表的实现
  • Tomcat Web应用(Ubuntu 18.04.6 LTS)部署笔记
  • [LangGraph教程]LangGraph04——支持人机协作的聊天机器人
  • Python:简介,Python解释器安装,第一个Python程序,开发环境(PyCharm安装和配置、Sublime安装和配置)
  • 5.学习笔记-SpringMVC(P61-P70)
  • 【大模型有哪些训练阶段?】
  • 模板偏特化 (Partial Specialization)
  • 类模板 (Class Templates)
  • 【需求墙上线】产品需求决定产品走向,邀您共建开源 LinkAndroid