5分钟——快速搭建后端springboot项目

5分钟——快速搭建后端springboot项目

  • 1. idea新建工程
  • 2. 构建pom.xml文件
  • 3. 构建application.yml配置文件
  • 4. 构建springboot启动类
  • 5. 补充增删改查代码
  • 6. 运行代码

1. idea新建工程

点击右上角新建一个代码工程
在这里插入图片描述
别的地方不太一样也不用太担心,先创建一个工程就好。
name: small_tieba_new
groupId: org.example
ArtifactId: small_tieba_new
在这里插入图片描述
如果有这个弹窗,点击新窗口就好
在这里插入图片描述

2. 构建pom.xml文件

创建后之后就是这个样子,现在我们先填充一下pom.xml文件。
在这里插入图片描述
把下面的代码粘贴进pom.xml文件后点击一下右上角的小圆圈。(如果有pom.xml文件直接全选文件内容然后粘贴就好。如果没有则在相同位置新建一个名为pom.xml文件然后再粘贴下面提供的代码就好)
在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><artifactId>spring-boot-starter-parent</artifactId><groupId>org.springframework.boot</groupId><version>2.5.1</version></parent><groupId>org.example</groupId><artifactId>small_tieba</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target><java.version>11</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.0</version></dependency><!--MySQL数据库驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!--druid数据库连接池依赖--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.8</version></dependency><!--Lombok依赖(可以配置也可以不用配置具体看自己)--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

3. 构建application.yml配置文件

右键resources,新建一个文件
在这里插入图片描述
名字叫做 application.yml, 然后再把下列代码粘贴进去。

server:#设置端口号port: 8081 #默认端口是8080
spring:datasource:#数据库用户名username: root#数据库用户密码password: 123456#serverTimezone=UTC 解决市区的报错 一般mysql是8.0以上的是必须配置这个#userUnicode=true&characterEncoding=utf-8 指定字符编码、解码格式url: jdbc:mysql://localhost:3307/small_tieba?serverTimezone=UTC&userUnicode=true&characterEncoding=utf-8#设置驱动类driver-class-name: com.mysql.cj.jdbc.Driver#设置数据源type: com.alibaba.druid.pool.DruidDataSource# 配置mybatis
mybatis:#指定pojo扫描包位置让mybatis自动扫描到指定义的pojo包下type-aliases-package: com.me.test.pojo#指定位置扫描Mapper接口对应的XML文件 classpath:xml文件位置mapper-locations: classpath:mapper/*.xml

完成后的样子~
在这里插入图片描述

4. 构建springboot启动类

修改Main文件的内容(如果没有则自己新建一个class文件):

package org.example;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** @author yourname <yourname>* Created on ${YEAR}-${MONTH}-${DAY}*/
@SpringBootApplication
public class Main {public static void main(String[] args) {System.out.println("Hello world!");SpringApplication.run(Main.class, args);}
}

完成后的样子~
在这里插入图片描述

5. 补充增删改查代码

新建文件夹补充代码。
在这里插入图片描述
然后在新建好的文件夹里面新建类(Class)文件
在这里插入图片描述
然后将下面的代码分别粘贴到对应的类(Class)文件中
UserController

package org.example.user.controller;import java.util.List;import org.example.user.entity.User;
import org.example.user.service.UserServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @author yourname <yourname>*/
@RestController
@RequestMapping("/api/user")
public class UserController {@Autowiredprivate UserServiceImpl userService;/*** 查询所有*/@GetMappingList<User> getAll(){List<User> user = userService.getUser();return user;}/*** 新增*/@PostMappingvoid add(@RequestBody User user){userService.insertUser(user);}/*** 修改*/@PutMappingvoid update(@RequestBody Integer userId){userService.updateUser(userId);}/*** 通过id删除*/@DeleteMappingvoid deleteById(@RequestBody Integer userId){userService.delUser(userId);}
}

entity.User

package org.example.user.entity;import lombok.Data;/*** User实体类*/
@Data
public class User {@TableId(type = IdType.AUTO)private Integer id;private String username;}

mapper.UserMapper

package org.example.user.mapper;import org.apache.ibatis.annotations.Mapper;
import org.example.user.entity.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;/*** <p>* UserMapper 接口* </p>*/
@Mapper
public interface UserMapper extends BaseMapper<User> {}

service.UserServiceImpl

package org.example.user.service;import java.util.List;import org.example.user.entity.User;
import org.example.user.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;/*** @author yourname <yourname>* Created on 2024-04-22*/
@Service
public class UserServiceImpl {@Autowiredprivate UserMapper userMapper;/*** 新增user*/public void insertUser(User user) {userMapper.insert(user);}/*** 通过userId删除user*/public void delUser(Integer userId) {User user = new User();user.setId(userId);userMapper.deleteById(user);}/*** 通过userId修改user*/public void updateUser(Integer userId) {User user = new User();user.setId(userId);userMapper.updateById(user);}/*** 获取所有user*/public List<User> getUser() {List<User> users = userMapper.selectList(null);return users;}}

完成后的样子~
在这里插入图片描述

6. 运行代码

运行main函数
在这里插入图片描述
可以看见Started Main in 12.841 seconds就代表运行成功啦
在这里插入图片描述
打开浏览器输入网址:http://localhost:8081/api/user 就能看见我们数据库中的内容了
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/2366.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习配置文件

1.yml的语法格式问题&#xff1a; 2.配置文件获取数据&#xff1a; Value方式&#xff1a; Environment&#xff1a; 获取自定义对象的方式&#xff1a; 设置get和set方法&#xff0c;还有toString方法。 3. 日志配置&#xff1a; logo的配置&#xff1a; 日志插件&#xff…

汽车纵染压制专用液压机比例阀放大器

汽车纵染压制专用液压机比例阀放大器是一种专门用于汽车纵梁拉伸工艺的设备&#xff0c;它也可以用于其他金属薄板的压制成型及校正工艺。该类型的液压机通常具备独立的动力机构和电气系统&#xff0c;采用PLC技术进行控制&#xff0c;以确保操作的准确性和稳定性。除了纵梁拉伸…

【iOS】分类,扩展与关联对象

文章目录 前言一、分类实现原理二、分类加载流程三、扩展四、类别与类扩展的区别五、关联对象动态添加取值移除关联对象应用 总结 前言 上一篇章我们探究了类与对象的底层&#xff0c;这一篇我们探究一下分类&#xff0c;扩展与关联对象 一、分类实现原理 首先我们知道扩展是…

Rust :快速了解 VecDeque 双向队列

VecDeque是Rust标准库中的一个双端队列&#xff08;double-ended queue&#xff09;实现&#xff0c;它提供了在队列两端进行高效插入和删除操作的能力。双端队列是一种具有队列和栈的性质的数据结构&#xff0c;元素可以从两端弹出&#xff0c;其限定插入和删除操作在表的两端…

CentOS-7安装grafana

一、通用设置&#xff08;分别在4台虚拟机设置&#xff09; 1、配置主机名 hostnamectl set-hostname --static 主机名2、修改hosts文件 vim /etc/hosts 输入&#xff1a; 192.168.15.129 master 192.168.15.133 node1 192.168.15.134 node2 192.168.15.136 node33、 保持服…

GaussianEditor:快速可控的3D编辑与高斯飞溅

GaussianEditor: Swift and Controllable 3D Editing with Gaussian Splatting GaussianEditor&#xff1a;快速可控的3D编辑与高斯飞溅 Yiwen Chen*​1,2   Zilong Chen*​3,5   Chi Zhang2   Feng Wang3   Xiaofeng Yang2 陈怡雯 *​1,2 陈子龙 *​3,5 张驰 2 王峰 3 杨晓…

MySQL学习笔记7——视图和存储过程

视图和存储过程 一、视图1、视图的作用2、如何操作视图和视图中的数据3、视图的优缺点 二、存储过程1、如何创建存储过程2、调用存储过程3、修改和删除存储过程 一、视图 1、视图的作用 视图是一种虚拟表&#xff0c;我们可以把一段查询语句作为视图存储在数据库中&#xff0…

Cocos Creator 场景树与组件实例查找详解

前言 Cocos Creator 是一款由 Cocos-BCX 团队开发的一款基于 JavaScript 的游戏开发引擎&#xff0c;它提供了一套完整的游戏开发工具和资源&#xff0c;方便开发者快速构建游戏。在 Cocos Creator 中&#xff0c;场景树和组件实例的查找是非常重要的&#xff0c;它们可以帮助开…

.NET Core 中的 ORM 框架对比

在 .NET Core 中选择正确的对象关系映射 &#xff08;ORM&#xff09; 工具可能是开发生命周期中的关键决策。所选的 ORM 会影响应用程序的性能、可维护性和可伸缩性。在本文中&#xff0c;我们将深入分析三个突出的 ORM 选择&#xff1a;Entity Framework Core、Dapper 和 NHi…

算法设计与优化——向量中数据唯一化

0.概述 很多应用中&#xff0c;在进一步处理之前都要求数据元素互异。以网络搜索引擎为例&#xff0c;多个计算节点各自获得的局部搜索结果&#xff0c;需首先剔除其中重复的项目&#xff0c;方可合并为一份完整的报告。类似地&#xff0c;所谓向量的唯一化处理&#xff0c;就…

liqo学习及安装,k8s,kubernetes多集群互联

先按照官方的教程在虚拟机安装学习 在开始以下教程之前&#xff0c;您应该确保您的系统上安装了以下软件&#xff1a; Docker&#xff0c;容器运行时。Kubectl&#xff0c;Kubernetes 的命令行工具。 curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.…

本地有一个face.txt文档,里面是50条url图片链接。怎么通过python做数据增强,还额外再生成200张!!!???

为了完成这个作业&#xff0c;我们需要编写一个Python脚本&#xff0c;该脚本将读取face.txt文件中的图片链接&#xff0c;并对这些链接进行处理&#xff0c;生成额外的图片链接作为数据增强。请注意&#xff0c;由于我们实际上没有真正的图像数据&#xff0c;而是只有URL链接&…

python笔记-检测时间数据递增正确性

概述 本文主要描述了使用一个python脚本检查输入的时间数据&#xff0c;是否按正常递增的格式增加。 背景 在平常写时间校准算法的过程中&#xff0c;输出的数据不好检查是否每个时刻数据都是正确的&#xff0c;所以需要写一个脚本来检查&#xff0c;时间校准算法输出的时间…

基于Python利用zhconv模块进行简繁体字转换

在处理中文文本时&#xff0c;简繁体字之间的转换是一项常见的任务。Python提供了许多库来实现这个目的&#xff0c;其中之一就是zhconv。zhconv是一个Python库&#xff0c;提供了简体字和繁体字之间的转换功能。本教程将向你展示如何使用zhconv模块来实现简繁体字的互转&#…

Redis底层数据结构之Dict

目录 一、概述二、Dict结构三、Dictht结构四、DictEntry结构五、核心特性 上一篇文章 reids底层数据结构之quicklist 一、概述 Redis 的 Dict 是一个高效的键值对映射数据结构&#xff0c;采用双哈希表实现以支持无锁的渐进式 Rehash&#xff0c;确保扩容或缩容时的高效性能。…

想冲宇宙厂,直接挂了。。。

宇宙厂实际是字节&#xff0c;这个称呼是因为字节跳动主宰了宇宙内一切App&#xff0c;有点家大业大的意思。 今天分享一位字节春招凉经&#xff0c;问了一些数据库和Java八股&#xff0c;没出算法题&#xff0c;直接挂了&#xff0c;竟然最喜欢出算法题的字节&#xff0c;这次…

深入探索Android Service:后台服务的终极指南(中)

引言 在深入探索了Service的基本概念和生命周期管理后&#xff0c;本文将聚焦于Android Service的进阶应用&#xff0c;包括前台服务的运用、Android 5.0以上版本中隐式启动Service的问题、确保Service稳定性的策略&#xff0c;以及Service在进程间通信和复杂后台任务处理中的高…

iptables实现docker容器动态端口映射实操

背景 之前在《Docker 动态修改容器端口映射的方法》一文中&#xff0c;说明了如何使用修改配置和加防火墙规则实现动态端口映射。但是没有具体分享加防火墙实现动态端口映射的实际案例。今天就分享一下实际操作案例&#xff0c;供大家参考。 分析 动态端口映射的用途 容器端口…

(2024)Visual Studio的介绍、安装与使用

Visual Studio介绍 1.Visual Studio是什么&#xff1f; Visual Studio是微软公司推出的一款开发工具包系列产品&#xff0c;它是一个基本完整的开发工具集&#xff0c;为软件开发者提供了整个软件生命周期中所需的大部分工具。 2.Visual Studio的定义 Visual Studio是美国微软公…

初级银行从业资格证知识点(一)

从支持角度来看&#xff0c;GDP由 消费、投资和净出口三大部分构成。 宏观经济发展的 总体目标&#xff1a; 经济增长、充分就业、物价稳定、国际收支平衡。 国际货币基金组织将金融危机分为&#xff1a; 货币危机、银行危机、外债危机、系统性金融危机。随着经济全球化及金融创…