SpringBoot入门实战(第七篇:项目接口-商品管理)
🤟致敬读者
- 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉
📘博主相关
- 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息
文章目录
- SpringBoot入门实战(第七篇:项目接口-商品管理)
- 1. 建表
- 2. 接口创建(GoodsInfoController.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_goods
CREATE TABLE tb_goods(id INT AUTO_INCREMENT PRIMARY KEY,g_id INT NOT NULL COMMENT "商品id",g_name VARCHAR(255) NOT NULL COMMENT "商品名称",g_category VARCHAR(255) NOT NULL COMMENT "商品分类",g_price DOUBLE NOT NULL COMMENT "商品价格",g_inventory INT NOT NULL COMMENT "商品库存",g_status VARCHAR(255) NOT NULL COMMENT "商品状态"
);
2. 接口创建(GoodsInfoController.java)
原来项目的商品包名叫product,不是很准确,现在改成goods
在com.xh.goods.dao包下根据表tb_goods生成代码,配置好注解后
在com.xh.goods.controller包下创建商品管理类GoodsInfoController.java
代码如下
package com.xh.goods.controller;import com.alibaba.fastjson.JSONObject;
import com.xh.goods.dao.TbGoods;
import com.xh.goods.dao.TbGoodsImpl;
import com.xh.goods.dao.TbGoodsMapper;
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 10:55*/
@CrossOrigin
@RestController
@RequestMapping(value = "/xh/v1/goods")
public class GoodsInfoController {@AutowiredTbGoodsMapper tbGoodsMapper;@PostMapping(value = "/addGoodsInfo")public JSONObject addGoodsInfo(@RequestBody JSONObject requestBody){String gName = requestBody.getString("gName");TbGoodsImpl tbGoodsImpl = new TbGoodsImpl();TbGoodsImpl.Criteria criteria = tbGoodsImpl.createCriteria();criteria.andGNameEqualTo(gName);List<TbGoods> tbGoodsList = tbGoodsMapper.selectByExample(tbGoodsImpl);JSONObject result = new JSONObject();if (tbGoodsList.isEmpty()){tbGoodsMapper.insert(JSONObject.parseObject(requestBody.toJSONString(),TbGoods.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 = "/readGoodsInfo")public JSONObject readGoodsInfo(){TbGoodsImpl tbGoodsImpl = new TbGoodsImpl();List<TbGoods> tbGoodsList = tbGoodsMapper.selectByExample(tbGoodsImpl);JSONObject result = new JSONObject();if (!tbGoodsList.isEmpty()){result.put("code", 200);result.put("data", tbGoodsList);result.put("msg", "查询商品信息");}else{result.put("code", 4000);result.put("data", "");result.put("msg", "查询商品信息失败,无商品数据");}return result;}@PutMapping(value = "/changeGoodsInfo")public JSONObject changeGoodsInfo(@RequestBody JSONObject requestBody){int gId = requestBody.getInteger("gId");TbGoodsImpl tbGoodsImpl = new TbGoodsImpl();TbGoodsImpl.Criteria criteria = tbGoodsImpl.createCriteria();criteria.andGIdEqualTo(gId);List<TbGoods> tbGoodsList = tbGoodsMapper.selectByExample(tbGoodsImpl);JSONObject result = new JSONObject();if (!tbGoodsList.isEmpty()){tbGoodsMapper.updateByExampleSelective(JSONObject.parseObject(requestBody.toJSONString(), TbGoods.class),tbGoodsImpl);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 = "/removeGoodsInfo")public JSONObject removeGoodsInfo(@RequestBody JSONObject requestBody){int gId = requestBody.getInteger("gId");TbGoodsImpl tbGoodsImpl = new TbGoodsImpl();TbGoodsImpl.Criteria criteria = tbGoodsImpl.createCriteria();criteria.andGIdEqualTo(gId);List<TbGoods> tbGoodsList = tbGoodsMapper.selectByExample(tbGoodsImpl);JSONObject result = new JSONObject();if (!tbGoodsList.isEmpty()){tbGoodsMapper.deleteByExample(tbGoodsImpl);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/goods/addGoodsInfo
请求类型
POST
请求参数
{"gId": 100001,"gName": "海洋至尊洗面奶","gCategory": "护肤品","gPrice": 46.90,"gInventory": 98,"gStatus": "上架"}
postman截图
3.2 查询商品数据
url
127.0.0.1:8088/xh/v1/goods/readGoodsInfo
请求类型
GET
请求参数 空
postman截图
3.3 更新商品数据
url
127.0.0.1:8088/xh/v1/goods/updateGoodsInfo
请求类型
PUT
请求参数
{"gId": 100002,"gName": "韩束男士补水保湿乳","gCategory": "护肤品","gPrice": 90.98,"gInventory": 58,"gStatus": "上架"}
postman截图
3.4 移除商品数据
url
127.0.0.1:8088/xh/v1/goods/removeGoodsInfo
请求类型
DELETE
请求参数
{"gId":"100001"
}
postman截图
📜文末寄语
- 🟠关注我,获取更多内容。
- 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
- 🟢《全栈知识库》技术交流和分享社区,集结全栈各领域开发者,期待你的加入。
- 🔵加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
- 🟣点击下方名片获取更多内容🍭🍭🍭👇