🤟致敬读者
- 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉
📘博主相关
文章目录
📃文章前言
- 🔷文章均为学习工作中整理的笔记。
- 🔶如有错误请指正,共同学习进步。
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 {
@Autowired
TbGoodsMapper 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截图
📜文末寄语
- 🟠关注我,获取更多内容。
- 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
- 🟢《全栈知识库》技术交流和分享社区,集结全栈各领域开发者,期待你的加入。
- 🔵加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
- 🟣点击下方名片获取更多内容🍭🍭🍭👇