IDEA2023+JDK17+SpringBoot3+MySQL8后端接口开发实战课笔记

2023-12-22 19:34:34

概述

花了很长的时间,终于把心心念念的SpringBoot3的实战课整理出来了。
今天是开心的一天,因为又多了一门课程可以奉献给大家,也是难过的一天,那就是又要开始重新找工作了。
如果我的粉丝里面有关于Golang或者Python的相关工作推荐,欢迎您私信我,我最近需要找一份新的工作。

目录

给大家看看成果截图:
在这里插入图片描述
大家可以看看录制时间,就是最近录制的课程哈。这里把目录结构分享给大家。

01 概述
02 使用IDEA创建SpringBoot3项目
03 Docker部署MySQL8
04 创建数据库和表
05 SpringBoot3整合JPA
06 使用SpringBoot3开发第一个REST接口
07 Docker加载RestClient镜像
08 使用Docker安装RestClient接口请求工具
09 SpringBoot3解决CORS跨域问题
10 SpringBoot3如何获取查询参数
11 SpringBoot3如何获取路径参数
12 SpringBoot3如何获取请求头参数
13 SpringBoot3中如何获取表单参数
14 SpringBoot3中如何获取JSON参数
15 SpringBoot3中整合JPA开发新增用户接口
16 SpringBoot3中整合JPA开发根据ID获取用户接口
17 SpringBoot3中整合JPA开发获取所有用户接口
18 SpringBoot3中整合JPA开发根据ID修改用户接口
19 SpringBoot3中整合JPA开发根据ID删除用户接口
20 总结

课程特色

其实我出的课程都很有特色哈,因为我会尽量的拆分知识点,就每节课的时长控制在10分钟以内,这样的话你坐公交,蹲厕所啥的,利用非常零散的时间,随时随地都能够学几节课,非常适合碎片化的学习。
而且内容是专门挑有用的重点学习的,比如怎么响应JSON,这个你开发接口必须会吧?比如或者各种参数,这些你也得会吧?然后我们最后还结合MySQL8数据库,使用一个user数据结构,简单的开发了一下关于用户的新增,修改,删除和查询接口,让大家能够掌握真实的开发代码。

Docker部署MySQL8

拉取镜像:

docker pull mysql:8.0.25

创建容器:

docker run --name mysql -p 3306:3306  --restart=always -e MYSQL_ROOT_PASSWORD=zhangdapeng520 -d mysql:8.0.25

配置信息如下:

  • 主机:本机ip
  • 端口:3306
  • 账号:root
  • 密码:zhangdapeng520

Docker部署RestClient

构建镜像:

docker build -t rest_client:v1 .

导出镜像:

docker save redis_client:v1 -o redis_client_v1.tar

导入镜像:

docker load -i rest_client_v1.tar

创建容器:

docker run --name=rest_client -p 18888:80 -d rest_client:v1

浏览器访问:http://localhost:8888

SpringBoot3获取请求参数

查询参数

@GetMapping("/demo10")
public Map<String,String> demo10(@RequestParam(name = "name") String name){
    HashMap<String, String> map = new HashMap<>();
    map.put("msg","ok");
    map.put("name",name);
    return map;
}

请求参数:

{
  "method":"get",
  "url": "http://localhost:8080/demo10?name=zhang大鹏"
}

路径参数

@GetMapping("/demo11/{id}")
public Map<String,String> demo11(@PathVariable(name = "id") Integer id){
    HashMap<String, String> map = new HashMap<>();
    map.put("msg","ok");
    map.put("id", String.valueOf(id));
    return map;
}

请求参数:

{
  "method":"get",
  "url": "http://localhost:8080/demo11/1"
}

请求头参数

@GetMapping("/demo12")
public Map<String,String> demo12(@RequestHeader("Token") String token){
    HashMap<String, String> map = new HashMap<>();
    map.put("msg","ok");
    map.put("token",token);
    return map;
}

请求参数:

{
  "method":"get",
  "url": "http://localhost:8080/demo12",
  "headers":{"Token":"xxx"}
}

表单参数

@PostMapping("/demo13")
public User demo13(User user){
    return user;
}

实体:

import lombok.Data;

@Data
public class User {
    private Integer id;
    private String name;
    private Integer age;
}

请求参数:

{
  "method":"post",
  "url": "http://localhost:8080/demo13",
  "headers": {
    "Content-Type": "application/x-www-form-urlencoded"  
  },
  "data": {
    "name": "张大鹏",
    "age": 18
  }
}

Json参数

@PostMapping("/demo14")
public User demo14(@RequestBody User user){
    return user;
}

请求参数:

{
  "method":"post",
  "url": "http://localhost:8080/demo14",
  "data": {
    "name": "张大鹏",
    "age": 18
  }
}

SpringBoot3整合JPA

第一步:创建实体

import jakarta.persistence.*;
import lombok.Data;

@Data
@Entity
@Table(name = "tb_user")
public class User {
    @Id
    @Column(name = "id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    @Column(name = "name", columnDefinition = "varchar(36) not null")
    private String name;

    @Column(name = "age", columnDefinition = "int")
    private Integer age;
}

第二步:创建dao接口

import com.zhangdapeng520.basic.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;

public interface UserDao extends JpaRepository<User, Integer> {
}

第三步:编写接口

@Autowired
private UserDao userDao;

@PostMapping("/demo15")
public User demo15(@RequestBody User user){
    userDao.save(user);
    return user;
}

第四步:测试接口

{
  "method":"post",
  "url": "http://localhost:8080/demo15",
  "data": {
    "name": "张大鹏2",
    "age": 19
  }
}

后续

咱们学了这门课以后,就可以慢慢去做一些实战类的东西了,我后面会出一个SpringBoot3+Vue3的员工管理系统实战课给大家,让大家直到SpringBoot3如何和Vue3结合,进行前后端分离开发。

获取方式

方法1:B站获取,哔哩哔哩搜 Python私教 就可以了。
方法2:私信获取
方法3:微信获取,加我微信18010070052

文章来源:https://blog.csdn.net/qq_37703224/article/details/135159441
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。