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

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截图
在这里插入图片描述

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


📜文末寄语

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

相关文章:

  • 第九节:性能优化高频题-首屏加载优化策略
  • 类和对象(构造函数和析构函数)
  • 修改RK3568 UBUNTU开机画面
  • Python实现异步编程的重要方式【协程(Coroutine)函数】(内含详细案例)
  • win11中wsl在自定义位置安装ubuntu20.04 + ROS Noetic
  • 将视频生成视频二维码步骤
  • Python协程详解:从基础到实战
  • 技巧-多数元素
  • 软件开发过程通常包含多个阶段,结合 AI 应用,可规划出以下 Markdown 文件名称的资料来记录各阶段内容
  • 深度强化学习的AI智能体实战:从训练到部署全流程解析
  • 码上云端·实战征文|无需邀请码,OpenManus深度测评
  • Python中的 for 与 迭代器
  • 第14章:MCP服务端项目开发实战:多模态信息处理
  • 每日算法-250424
  • 黑客密码:解锁互联网提问的智慧密码
  • 解决NSMutableData appendData性能开销太大的问题
  • Linux命令行基础入门详解
  • 09前端项目----分页功能
  • 通过监督微调(SFT)提升AI Agent效果的完整指南
  • 2025年3月电子学会青少年机器人技术(五级)等级考试试卷-实际操作
  • 政治局会议:优化存量商品房收购政策,持续巩固房地产市场稳定态势
  • 经济日报:美离间国际关系注定徒劳无功
  • 84%白化!全球珊瑚正经历最严重最大范围白化现象
  • 拖车10公里收1900元?货车司机质疑收费过高,潮州饶平县市监局已介入
  • 出发!陈冬、陈中瑞、王杰三名航天员领命出征
  • 上海楼市明显复苏:一季度房地产开发投资增长5.1%,土地市场重燃战火