创建Springboot+vue3项目

  • 项目概述
  • 创建springboot项目
  • 加入mybatis-plus支持
    • 1.加入依赖代码
    • 2.创建数据库实例
    • 3.yml文件的配置
    • 4.编写测试代码
    • 5.测试结果
  • 创建vue项目
  • 报错
    • 错误一
    • 错误二
    • 错误三

项目概述

后端:Springboot、mybatis-plus、java
前端:nodejs、vue脚手架、element-ui
数据库:mysql

创建springboot项目

创建springboot项目有两种方式,一种是使用maven创建,一种是使用Spring initializr创建
如果是maven创建,我们需要手动配置项目的依赖和目录结构,手动管理依赖的版本
如果是spring initializr创建,可以选择项目的依赖和配置,然后自动生成项目的基本结构和配置文件,自动管理依赖的版本
这里我们选择spring initializr创建,软件用的是IDEA 2021

文件 -> 新建 -> 项目
在这里插入图片描述
spring initializr -> 看自己喜好配置 -> 下一步
在这里插入图片描述

新建项目 -> 根据需要配置 -> 完成在这里插入图片描述

加入mybatis-plus支持

mybatis-plus官网:https://baomidou.com/pages/bab2db/#release

1.加入依赖代码

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.1</version>
</dependency>

2.创建数据库实例

在这里插入图片描述

3.yml文件的配置

在这里插入图片描述

4.编写测试代码

  • 创建实体类
@Data
public class User {

    //用于序列化和反序列化对象的版本控制
    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    private String username;

    private String password;
}
  • 创建mapper接口
@Mapper
public interface UserMapper extends BaseMapper<User> {


    List<User> selectAll();
}
  • 创建service接口
public interface UserService extends IService<User> {


    List<User> selectAll();
}

  • 创建service实现类
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {


    //用于标记一个类或方法作为资源
    //当被标记时,它可以被容器自动注入所需要的资源
    @Resource
    private UserMapper userMapper;

    @Override
    public List<User> selectAll() {
        return userMapper.selectAll();
    }
}
  • 创建配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">

<select id="selectAll" resultType="com.example.entity.User">
    select * from user
</select>

</mapper>
  • 测试类
@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/list")
    public List<User> hello(){
        return userService.selectAll();
    }


}

5.测试结果

在这里插入图片描述

创建vue项目

打开终端或cmd,进入springboot项目同级文件夹中,运行如下命令创建一个项目
需要注意的是:项目名称不能存在大写,按照Vue CLI的规范,项目名称必须是小写字母、数字、连字符(-)或下划线(_)的组合,且必须以字母开头。这是因为在命名项目时,项目名称会用于生成文件夹名称、JavaScript模块名称等,而JavaScript中通常使用小写字母来命名变量和模块。

vue create 项目名称

在控制台中,上下键调整选项,空格选中或取消选中,回车确认
在这里我选择第三个,手动配置
在这里插入图片描述

选择你需要的东西,但是需要注意的是,如果你是在学习阶段的话,建议把Linter / Formatter取消掉,因为这个是代码的规范化,有时候多一个空格或者少一个空格都会报错,但是我们平常的开发中,多一个空格或者少一个空格也无所谓,所以取消它,能省掉很多麻烦
在这里,我选择的是图中的三个选项
在这里插入图片描述
然后选择版本,Vue目前有两个主流大 版本vue2和vue3,我选择3最新版本,因为3包含了2
在这里插入图片描述
然后选择配置文件放在哪里, 是放在In dedicated config files专属文件中,或者是放在In package.json在package.json文件中
这里我选择第一个
在这里插入图片描述
然后问你是否保存为未来项目的预置,y代表保存,并添加名字,n不保存
如果你保存了,下次你就可以直接选择你添加的名字,它就自动帮你选择你刚刚选择的了
这里我选择n,回车开始创建项目

报错

错误一

在这里插入图片描述
有时候报错就莫名奇妙的,你可以先清除那些东西,然后重新加载,或者直接改版本。
在这里插入图片描述

错误二

在这里插入图片描述
降低版本
我选择的是2.6.7
然后出现了这个错误
在这里插入图片描述
这是因为没有设置数据库对应pom的版本
在这里插入图片描述

在这里插入图片描述

错误三

在这里插入图片描述
我出现这个问题的原因是因为Application启动类的位置不对.要将Application类放在最外侧,即包含所有子包 。而我的启动类则放在了test1里面。导致找不到页面。

在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

研发工程师玩转Kubernetes——PVC使用Label和storage选择PV

在《研发工程师玩转Kubernetes——local型PV和PVC绑定过程中的状态变化》和《研发工程师玩转Kubernetes——使用local型PV在不同Pod上共享数据》中&#xff0c;我们介绍了指定VPC的spec.volumeName为PV名称来绑定它们的方法。本文将介绍PVC在创建时&#xff0c;系统自动选择绑定…

GEE学习04-

0 回顾 之前学习的内容可以概括为&#xff1a; conda activate gee cd /d e:/geelearn jupyter lab可以在prompt中chrlc停止当前打开的jupyter lab. import ee #ee.Authenticate() import geemap geemap.set_proxy(port 1080) map geemap.Map() map1、视频课学习 之后跟着…

SonarQube安装与Java、PHP代码质量分析扫描

文章目录 1、下载安装1.1、SonarQube下载1.2、SonarQube安装1.3、SonarQube中文汉化1.4、SonarScanner扫描器 2、扫描项目2.1、java代码扫描2.2、php代码扫描 1、下载安装 SonarQube负责存储代码数据、收集数据、分析代码和生成报告等。 1.1、SonarQube下载 下载地址&#x…

【TypeScript】类型断言-类型的声明和转换(五)

【TypeScript】类型断言-类型的声明和转换&#xff08;五&#xff09; 【TypeScript】类型断言-类型的声明和转换&#xff08;五&#xff09;一、简介二、断言形式2.1 尖括号语法2.2 as形式 三、断言类型3.1 非空断言3.2 肯定断言-肯定化保证赋值3.3 将任何类型断言为any3.4 调…

ngrok内网穿透可以实现资源共享吗?快解析更加简洁

随着互联网的高速发展&#xff0c;越来越多的人开始意识到内网穿透技术的重要性。在这一技术中&#xff0c;ngrok已经成为了一个备受关注的工具。然而&#xff0c;很多人对于ngrok是否可以进行资源共享存在疑问。本文将从新的角度出发&#xff0c;深入探讨这个问题。 了解什么…

要实现智能制造到底有多难?先看看这一步...

是新朋友吗&#xff1f;记得先点上方蓝字关注Ruff 智能制造、数字化转型&#xff0c;已成为当下制造业最炙手可热的话题&#xff0c;政府工作报告中已多次提到&#xff0c;为了促进数字经济发展&#xff0c;加强数字中国建设整体布局&#xff0c;打造智能工厂、智慧工厂。愿景是…

【Linux】-- 进程间通信

目录 一、进程间通信介绍 二、管道 1.什么是管道&#xff08;pipe&#xff09; 2.重定向和管道 &#xff08;1&#xff09;为什么要有管道的存在 &#xff08;2&#xff09;重定向和管道的区别 3.匿名管道 &#xff08;1&#xff09;匿名管道原理 &#xff08;2&…

mysql索引的数据结构(Innodb)

首选要注意,这里的数据结构是存储在硬盘上的数据结构,不是内存中的数据结构,要重点考虑io次数. 一.不适合的数据结构: 1.Hash:不适合进行范围查询和模糊匹配查询.(有些数据库索引会使用Hash,但是只能精准匹配) 2.红黑树:可以范围查询和模糊匹配,但是和硬盘io次数比较多. 二…

机器学习笔记 - 关于GPT-4的一些问题清单

一、简述 据报道,GPT-4 的系统由八个模型组成,每个模型都有 2200 亿个参数。GPT-4 的参数总数估计约为 1.76 万亿个。 近年来,得益于 GPT-4 等高级语言模型的发展,自然语言处理(NLP) 取得了长足的进步。凭借其前所未有的规模和能力,GPT-4为语言 AI​​设立了新标准,并为机…

vue-pc端实现按钮防抖处理-自定义指令

前言 我们经常在移动端会处理按钮和输入框的防抖和节流处理&#xff0c;在pc端很少进行这样的操作 但是在pc端也是可以进行按钮的防抖操作&#xff0c;这样也是比较合理&#xff0c;可以不用但不可以不会 我们只要配合vue项目自定义指令加上全局注册&#xff0c;就可以实现按…

Linux下安装VMware虚拟机

目录 1. 简介 2. 工具/原料 2.1. 下载VMware 2.2. 安装 1. 简介 ​ VMware Workstation&#xff08;中文名“威睿工作站”&#xff09;是一款功能强大的桌面虚拟计算机软件&#xff0c;提供用户可在单一的桌面上同时运行不同的操作系统&#xff0c;和进行开发、测试 …

同步代码块使用错误示范 | 用了synchronized还是出现“超取”问题

记录一下错误&#xff0c;吸取经验&#x1f914;&#x1f60b; 出问题的代码 public class Test {public static void main(String[] args) {new Thread(new Account()).start(); //&#xff01;&#xff01;new Thread(new Account()).start(); //&#xff01;&#xff01;}…

跨境电商线上店铺智能装修系统源码开发

搭建一个跨境电商线上店铺智能装修系统源码开发需要以下步骤&#xff1a; 1. 确定需求&#xff1a;首先&#xff0c;需要明确线上店铺智能装修系统的具体需求。 2. 选择开发语言和框架&#xff1a;根据需求&#xff0c;选择合适的开发语言和框架进行开发&#xff0c;可以提高…

docker容器监控:Cadvisor+InfluxDB+Grafana的安装部署

目录 CadvisorInfluxDBGrafan安装部署 1、安装docker-ce 2、阿里云镜像加速器 3、下载组件镜像 4、创建自定义网络 5、创建influxdb容器 6、创建Cadvisor 容器 7、查看Cadvisor 容器&#xff1a; &#xff08;1&#xff09;准备测试镜像 &#xff08;2&#xff09;通…

【TypeScript】中关于 { 声明合并 } 的使用及注意事项

概念&#xff1a; 在TS中&#xff0c;如果定义了多个相同命名的函数&#xff0c;接口或者class 类&#xff0c;那么它们会自动合并成一个类型 函数的合并&#xff1a; 前面章节讲解的函数重载就是使用了定义多个函数的类型进行合并&#xff1a; function reverse(x: number):…

MPP架构和Hadoop架构的区别

1. 架构的介绍 mpp架构是将许多数据库通过网络连接起来&#xff0c;相当于将一个个垂直系统横向连接&#xff0c;形成一个统一对外的服务的分布式数据库系统。每个节点由一个单机数据库系统独立管理和操作该物理机上的的所有资源&#xff08;CPU&#xff0c;内存等&#xff09…

MySQL索引1——索引基本概念与索引结构(B树、R树、Hash等)

目录 索引(INDEX)基本概念 索引结构分类 BTree树索引结构 Hash索引结构 Full-Text索引 R-Tree索引 索引(INDEX)基本概念 什么是索引 索引是帮助MySQL高效获取数据的有序数据结构 为数据库表中的某些列创建索引&#xff0c;就是对数据库表中某些列的值通过不同的数据结…

桶排序算法

桶排序算法 算法思想概述&#xff1a;桶排序的主要步骤如下&#xff1a; 算法goland实现&#xff1a;图解演示&#xff1a; 算法思想概述&#xff1a; 桶排序&#xff08;Bucket Sort&#xff09;是一种非比较性的排序算法&#xff0c;它将待排序的元素分到有限数量的桶&#…

Gitee+Jenkins(docker版)自动推送并部署Springboot项目到远程服务器

如果要参考gitlab配置请参考GitlabWebhook自动推送并更新Springboot项目 Gitlab的配置部分 环境介绍 Jenkins服务器(Centos7.6): docker安装的jenkins,参考Jenkins(docker安装)部署Springboot项目JDK1.8Maven3.6.3 注意docker安装的jenkins,而且是较新的版本,所以jenkins容器…

php获取随机订单号(封装函数)

作为一个开发人员&#xff0c;生成订单时常常需要获取一段随机码来表示订单号&#xff0c;并且订单号一般包含的特定的时间日期等信息&#xff0c;临时现写一个比较浪费时间&#xff0c;这里有一个封装好的生成随机订单号的函数&#xff0c;需要时直接调用即可。 代码如下&…