前言
搭建springboot后端项目以及通过接口文档测试增删改查功能
一、项目搭建环境
1.安装 JDK:确保你的系统中安装了合适版本的 JDK,Spring Boot 通常需要 JDK 8 或更高版本。我的版本是JDK17
2.Mysql数据库创建数据库及表sql(复制到数据库执行)
-- 创建数据库
CREATE DATABASE goodsdb;
-- 选择数据库
USE goodsdb;
-- 创建表
CREATE TABLE Goods (
id INT PRIMARY KEY,
NAME VARCHAR(100) NOT NULL,
price DECIMAL(10,2) NOT NULL,
imgs VARCHAR(255),
num INT NOT NULL
);
-- 往表中插入数据
INSERT INTO Goods (id, NAME, price, imgs, num) VALUES
(4, '无线鼠标', 89.00, 'mouse.jpg', 80),
(5, '机械键盘', 399.00, 'keyboard.jpg', 25),
(6, '智能手表', 1299.00, 'watch.png', 15),
(7, '移动电源', 99.00, 'powerbank.jpg', 60),
(8, '蓝牙音箱', 199.00, 'speaker.jpg', 40),
(9, '平板电脑', 2599.00, 'tablet.png', 10),
(10, '台灯', 79.00, 'lamp.jpg', 100),
(11, '电动牙刷', 159.00, 'toothbrush.jpg', 35),
(12, '背包', 299.00, 'backpack.jpg', 50),
(13, '咖啡机', 899.00, 'coffee.jpg', 20),
(14, '加湿器', 129.00, 'humidifier.jpg', 30),
(15, '摄像头', 249.00, 'camera.jpg', 25),
(16, '游戏手柄', 149.00, 'gamepad.jpg', 45),
(17, '电热水壶', 69.00, 'kettle.jpg', 70),
(18, 'U盘', 59.00, 'usb.jpg', 200);
二、创建项目
1.创建完后
2.导入所需依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.3</version>
</parent>
<dependencies>
<!-- spring web启动器 包括spring相关依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- spring data jpa 启动器 包括spring data jpa相关依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.7</version>
</dependency>
<!-- mysql驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- 数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.24</version>
</dependency>
<!-- 接口文档 -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>4.5.0</version>
</dependency>
</dependencies>
3.将依赖复制到pom.xml中
4.创建启动类
5.在resources下创建application.yml配置文件
6.下载插件MyBatisX
7.点击箭头处弹出提示框中,在点击OK左边的按钮登录MySQL,在点击OK
8.修改完后点击next
9.根据图片选择后点击Finish
10.这样就生成了mapper等所需的代码,不用在手动去写
@在model.entity下创建文件夹query 下方为query下的两个类
@Data
public class BaseQuery {
private int pageNum =1;
private int pageSize =3;
}
@Data
public class GoodsQuery extends BaseQuery{
}
@query这一块主要是实现分页,下一篇用vue前端展示增删改查,分页
11.创建controller
package com.ww.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ww.common.result.PageResult;
import com.ww.common.result.Result;
import com.ww.model.entity.Goods;
import com.ww.model.entity.query.GoodsQuery;
import com.ww.service.GoodsService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/goods")
@RequiredArgsConstructor
@Tag(name= "商品接口")
public class GoodsController {
private final GoodsService goodsService;
@GetMapping("/get")
@Operation(summary = "根据名称获取商品信息")
public Result<Goods> getGoods(
@RequestParam("name") String name){
QueryWrapper<Goods> wrapper=new QueryWrapper<>();
wrapper.eq("name",name);
goodsService.getOne(wrapper);
return Result.success();
}
@PostMapping("/add")
@Operation(summary = "添加商品信息")
public Result add(@RequestBody Goods goods){
boolean flag= goodsService.save(goods);
return Result.judge(flag);
}
//分页查询
@PostMapping("/page")
@Operation(summary = "分页查询")
public PageResult<Goods> getGoodsPage(
@RequestBody GoodsQuery query){
IPage<Goods> goodsIPage= goodsService.getGoodsPage(query);
return PageResult.success(goodsIPage);
}
@PostMapping("/update")
@Operation(summary = "修改")
public boolean update(@RequestBody Goods goods){
boolean row= goodsService.updateById(goods);
return row;
}
@GetMapping("/del")
@Operation(summary = "删除")
public boolean del(@RequestParam("id") int id){
boolean flag=goodsService.removeById(id);
return flag;
}
@GetMapping("/selectBid")
@Operation(summary = "根据id查询数据")
public Goods selectBid(@RequestParam("id") int id){
Goods goods=goodsService.getById(id);
return goods;
}
}
12.在Controller中写入增删改查和分页代码
这是GoodsServiceImpl中分页的方法(controller中此方法没有在GoodsService创建)
去到网盘提取两个配置文件https://pan.baidu.com/s/1_k7R7gYQuZuTCPkyaWeNJg?pwd=1234
13.将提取的文件放到上图目录
14.然后启动项目
因为我们导入了接口文档的依赖
所以直接http://localhost:8081/doc.html输入这个网址进到接口文档去测试功能
点击任意接口后在点击调试进行功能测试