【从0配置JAVA项目相关环境1】jdk + VSCode运行java + mysql + Navicat + 数据库本地化 + 启动java项目

news2025/1/23 17:47:49

从0配置JAVA项目相关环境

  • 写在最前面
  • 一、安装Java的jdk环境
    • 1. 下载jdk
    • 2. 配置jdk
    • 3. 配置环境变量
  • 二、在vscode中配置java运行环境
    • 1. 下载VSCode
    • 2. 下载并运行「Java Extension Pack」
  • 三、安装mysql
    • 1.官网下载MySQL
    • 2.开始安装
      • 如果没有跳过
      • 安装成功
    • 3.配置MySQL Server
    • 4.环境变量配置
    • 5.更改时区 (可选)
    • 6.验证安装
  • 四、安装Navicat
    • 1. 下载Navicat
    • 2. 安装Navicat
  • 五、Navicat链接Mysql
  • 六、修改JAVA代码配置
    • 修改数据库
      • 1.配置数据库配置
      • 2.执行sql脚本
  • 七、java项目启动
    • 本地启动

写在最前面

实验室电脑,需要跑一个前后端分离的JAVA项目,于是开始重新配置
全部(数据库+后端+前端)配置环境+修改代码 耗时6h,包括遇到各种坑,但总体而言弯路走的不多
如果跟着这篇博客走,理论上会避开我遇到的那些坑hh


请添加图片描述

在当今快速发展的技术世界中,Java仍然是最受欢迎和广泛使用的编程语言之一,了解Java及其相关环境的配置几乎是每个开发者的必经之路。
这篇博客旨在为那些刚刚踏入Java编程世界的新手提供一份全面而详细的指南,从安装Java的JDK环境到配置VSCode、MySQL和Navicat,再到运行前端项目,我们将一步步引导你穿越这个看似复杂却充满乐趣的配置之旅。

我们将从最基础的环境配置开始,详细讲解如何在不同操作系统上安装和设置Java JDK。接着,我们会探讨如何在VSCode中搭建和运行Java环境,这是目前最受欢迎的轻量级代码编辑器之一。随后,文章将指导你如何安装MySQL数据库并与之交互,这对于处理数据和构建后端应用至关重要。我们还将涉及到如何使用Navicat——一款强大的数据库管理工具,以及如何配置Java代码来连接和操作数据库。

让我们开始吧!

一、安装Java的jdk环境

参考:https://blog.csdn.net/hgnuxc_1993/article/details/132533088
https://blog.csdn.net/qq_43610304/article/details/100623096

1. 下载jdk

oracle官网下载:Oracle | Cloud Applications and Cloud Platform
可参考:https://blog.csdn.net/hgnuxc_1993/article/details/132533088

但是要注册登录oracle,太麻烦了
直接下载热心网友分享的资源,respect!

jdk-8u181-windows-x64
链接:https://pan.baidu.com/s/18wqjmJ2nvXIMjfLQe3m9Zg
提取码:3thr

在这里插入图片描述

2. 配置jdk

点击运行jdk8.0安装程序
点击下一步
进入下图窗口,修改路径后,返回上图窗口,再点击下一步

在这里插入图片描述
完成上一步步骤后,便进入了安装

3. 配置环境变量

在桌面右键单击 我的电脑→属性→高级系统设置→高级选项→环境变量→在系统变量

1)新建JAVA_HOME变量,添加:
这里是输入你JDK的安装目录地址
变量名:JAVA_HOME
变量值:D:\program\Java\jdk1.8.0_181

2)配置PATH路径
找到系统变量中的PATH,配置bin目录
新建 --> 输入 %JAVA_HOME%\bin

检查配置成功与否
打开cmd,
验证Java版本:java -version
验证Java编译命令是否可用:javac
输入java -version 查看版本信息,显示下图情况就说明配置成功了:
在这里插入图片描述

二、在vscode中配置java运行环境

参考:https://www.zhihu.com/question/278838022/answer/1709832515

1. 下载VSCode

官方链接:https://code.visualstudio.com

很简单,一共三步。下载并运行「Java Extension Pack」;下载并运行「JDK」;配置「Environment Variable」.现在,我们一步一步细说。

2. 下载并运行「Java Extension Pack」

第一步:下载并运行「Java Extension Pack」,也就是中文所说的「Java插件包」。VSCode几乎为所有主流编程语言,都提供了很多「extensions」,也就是中文所说的「插件」,当然也cover了JAVA语言。方法很简单。在VSCode左侧「Activity Bar」活动栏当中,选中「Extension」图标,然后在输入框中,直接输入「Java Extension Pack」,即可看到。

找到「Java Extension Pack」后,直接点击「Install」安装,状态显示为「Installed」之后,便会自动运行。

「Java Extension Pack」会为我们安装六个插件。
在这里插入图片描述

三、安装mysql

参考:https://blog.csdn.net/m0_52559040/article/details/121843945

1.官网下载MySQL

MySQL :: Download MySQL Installer
icon-default.png?t=N7T8https://dev.mysql.com/downloads/installer/

这只是一个安装器, 安装包里有64位的MySQL Server
在这里插入图片描述
这里让我们登账号,忽略,直接下载
在这里插入图片描述

2.开始安装

双击安装包
如果没有开始安装,看一下是不是申请权限的页面没有跳出来,点击下面同意权限即可
在这里插入图片描述
我们选择自定义安装, 因为有些应用我们可能用不到

在这里插入图片描述
选择要安装的服务, 并点击箭头 将其添加到右边

这里不让我们改路径用心良苦

注意查看or修改安装路径
在这里插入图片描述
建议是: 把C盘改成D盘就行
例如我的:
在这里插入图片描述

如果没有跳过

然后Check Requirements(系统缺少 MySQL需要的C++库, 安装即可),等待execute执行完成,同意C++安装协议

安装成功

在这里插入图片描述

3.配置MySQL Server

这个界面默认即可, 不要动它, 点击下一步
在这里插入图片描述
官方推荐第一种,但我们选择第二种

原因:如果后面我们要用到数据库图形化工具的话(navicat举例),如果navicat版本太老, 比如11, 会产生数据库连接错误
就建议选择第二个密码选项 或者升级软件图形化工具的版本

在这里插入图片描述
学习MySQL的话, 就随便取个好记的密码(忘密码比较麻烦)

在这里插入图片描述

这里可以改成MySQL, 在启动服务的时候方便些

在这里插入图片描述
选最后一个,继续
在这里插入图片描述
接着继续安装,安装完成,点FINISH
然后继续,然后FINISH退出安装

4.环境变量配置

这个时候打开命令行, 直接输入 mysql
在这里插入图片描述

应该是会报错的, 因为我们还没有配置环境变量, 没办法直接使用 mysql命令

打开我们的安装目录, 来到 MySQL Server 8.0\bin 目录下,复制这一整行地址
例如我的是D:\program\MySQL\MySQL Server 8.0\bin

到属性、高级系统设置、环境变量
找到系统变量的PATH, 双击进入编辑
新建, 把你刚刚复制的那个路径粘贴即可
最后,一层层点确定退出去
在这里插入图片描述

5.更改时区 (可选)

(可选 不学java可先忽略这一步)

更改时区 (学习JAVA用到JDBC会有时区问题, 要改成东八区)
win10下先勾选这个(查看、隐藏的文件)以便找到 ProgramData 文件夹D:\ProgramData\MySQL\MySQL Server 8.0

往下找到

[mysqld]

在下面加上这么一句话

default-time_zone='+8:00'

并保存
在这里插入图片描述
关闭以后 重启mysql即可生效

如果还没有启动, 那就是开启后生效, 先不急

继续往下

6.验证安装

键盘 win + s 搜索cmd 或者powershell, 右键用管理员启动
输入

mysql -uroot -p

再输入密码

在这里插入图片描述
nice安装完成!

四、安装Navicat

参考:https://blog.csdn.net/qq_57421630/article/details/120651484

感谢热心网友!!respect

1. 下载Navicat

网盘提取链接:
https://pan.baidu.com/s/1TXOIX0DqNKPOIF7jmC2IQg
提取码:
52uq

2. 安装Navicat

打开下载好的文件夹,对exe文件右键以管理员身份运行
然后进行一系列下一步的操作,选好文件的安装位置
我的安装地址:D:\program\PremiumSoft\Navicat Premium 12
在这里插入图片描述
则会在对应的目录下产生Navicat Premium 12的目录
然后进行下一步操作直到安装完成
完成后返回软件初始安装包,双击打开“补丁”文件夹
可以看到有一个“x64-简中”文件夹,然后打开,可以看到有两个文件,将他们复制
复制好后将他们粘贴进之前安装产生的Navicat Premium 12的目录里边

然后就安装好了,打开你安装的navicat
检查更新别打√

五、Navicat链接Mysql

进入主页面,点击连接,选择mysql
这里连接名自己随便取,然后输入密码点击连接
在这里插入图片描述
在你的连接名下就可以看到数据库了
点开mysql,可以看到有一个user表
在这里插入图片描述

点开这张表,将user为root的localhost改为%,表示可以远程连接此数据库了,也就是说你的同学可以用他的电脑连接你的mysql,从而实现数据共享
记得保存
在这里插入图片描述

同时在这张表下新建查询,就可以写你的SQL语句了
在这里插入图片描述

六、修改JAVA代码配置

在 Java 中,有三种主要的方式来注释代码:

  1. 单行注释:使用两个斜杠 // 开头,之后的文本直到行尾都是注释。这种注释通常用于对代码行进行简短说明。

    示例:

    // 这是一个单行注释
    int number = 5; // 这行代码声明了一个整数变量
    
  2. 多行注释:使用 /* 开始和 */ 结束,适用于跨越多行的注释。这种注释可用于提供更详细的说明或临时禁用一段代码。

    示例:

    /* 这是一个多行注释
       可以跨越多行 */
    int number = 5;
    
  3. 文档注释:使用 /** 开始和 */ 结束,用于生成 Javadoc 文档。这种注释通常放在类、方法或字段之前,用于说明 API 的功能和使用方法。

    示例:

    /**
     * 这是一个文档注释
     * 用于描述类或方法的功能
     */
    public class MyClass {
        /**
         * 这是一个方法的文档注释
         */
        public void myMethod() {
        }
    }
    

这三种注释方式在 Java 中都是常用的,你可以根据需要选择合适的注释方式来记录代码的功能或临时禁用某些代码段。

修改数据库

1.配置数据库配置

在 application-local.yml 中修改数据库配置
源代码

#兼容swagger配置
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://xxxx:3306/kwan?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    username: root
    password: xxxx

要将这段代码修改为适用于本地 MySQL 数据库的配置,需要做以下几点改动:

  1. 修改 URL:将 url 字段中的 xxxx 替换为 localhost 或者 127.0.0.1,这表示数据库运行在本地机器上。

  2. 数据库名:确保 kwan 是你本地 MySQL 实例中存在的数据库名。如果不是,请更改为正确的数据库名。

  3. 用户名和密码:确认 usernamepassword 字段与你的本地 MySQL 数据库的登录凭证相匹配。

修改后的代码应该看起来像这样:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/kwan?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    username: root
    password: 123456

这样配置后,应用程序将能够连接到你的本地 MySQL 数据库。

如果数据库名、用户名或密码与你的本地设置不同,请相应地进行更改。

2.执行sql脚本

在mysql中执行docs/mysql/mysql.sql目录下的sql文件,初始化库和表数据

报错:

--删除数据库
DROP
DATABASE IF EXISTS kwan
> 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '--删除数据库
  DROP
  DATABASE IF EXISTS kwan' at line 1
> 时间: 0s

出现这个错误是因为你在 SQL 语句前使用了中文注释,但没有正确地注释掉这些文字。在 SQL 中,注释可以用两种方式进行:

  1. 单行注释:使用 -- (两个破折号后跟一个空格)或 # 来注释单行。请注意,在使用 -- 作为注释时,破折号后必须紧跟一个空格。

  2. 多行注释:使用 /* 开始和 */ 结束来注释多行。

你的原始语句中的注释没有遵循这些规则。如果你想保留注释(“删除数据库”),应该这样写:

-- 删除数据库
DROP DATABASE IF EXISTS kwan;

修改后成功运行!
在这里插入图片描述

七、java项目启动

本地启动

定位到 AppApplication.java 文件
运行文件(配置好了vscode插件+java环境,右键就会有java运行的选项,否则没有)
在这里插入图片描述
成功运行!


如果有任何问题,欢迎提问和交流!

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

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

相关文章

InST论文复现

论文地址:https://arxiv.org/abs/2211.13203 论文git:https://github.com/zyxElsa/InST 遇到的问题: 1.requests.exceptions.SSLError: HTTPSConnectionPool(hosthuggingface.co, port443): Max retries exceeded with url: /openai/clip-…

机器学习 | RMSE和R平方误差的数学解释

RMSE:均方根误差是回归线拟合数据点的程度的度量。RMSE也可以解释为残差中的标准差。 考虑给定的数据点:(1,1),(2,2),(2,3&#xff09…

java WebSocket带参数处理使用

1、webSocket实现代码 Component public class WebSocketStompConfig {//这个bean的注册,用于扫描带有ServerEndpoint的注解成为websocket// ,如果你使用外置的tomcat就不需要该配置文件Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpoi…

三十八、AT模式

目录 一、定义 1、AT模式工作原理如下: 2、优点: 3、缺点: 4、流程: 二、AT模式与XA模式的区别 三、AT模式的脏写问题 四、实现AT模式 一、定义 AT模式是指使用AT命令进行串口通信的工作模式。AT命令是由两个字符组成的命…

协同过滤算法之vue+springboot个性化电影评分推荐系统6n498

摘要为了解决信息过载问题,个性化推荐系统由此产生。个性化推荐系统通过对用户行为的分析,利用数据挖掘算法对信息进行过滤,将用户可能感兴趣的产品或项目推荐给用户。对于电影爱好者来说,利用网络在浩如烟海的电影数据库中找到自己喜欢的电影并非易事。电影作为一个艺术的载体…

ahk系列-windows超级运行框-表达式计算(6)—asc/ord/chr ASCII 码转换

1、环境准备 windows 7,8,10,11操作系统ahk 2.x_64位 2、使用方式 asc 可以计算 asc字符 ,或者汉字,的数值,ord /chr 则是把数值转换为字符 当然有很多字符不可见,比如我们用 “{}” 包裹它…

软件测试之python+requests接口自动化测试框架实例教程

前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的…

元宇宙解决方案:GPU云服务在元宇宙中的作用

GPU算力可以说是我们现在信息化时代的基础设施,在某种程度上说我们已经进入了算力时代,手机、电脑、车载等算力已经渗透到各行各业了。 当然算力对元宇宙也很重要,尤其是在可视化方面,元宇宙需要很逼真的渲染,同时它的…

【8】PyQt单选框和复选框

目录 1. 单选框 2. 复选框 1. 单选框 QRadioButton是单选按钮,它提供了一组可供选择的按钮和文本标签,用户可以选择其中一个选项 单选框选中的信号是:toggled 代码示例: from PyQt5.QtWidgets import * from PyQt5.QtCore import * import sysdef func(checked…

校园教务管理系统

学年论文(课程设计) 题目: 信息管理系统 校园教务管理系统 摘要:数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心,随着计算机技术的发展,数据库技…

docker:安装mysql以及最佳实践

文章目录 1、拉取镜像2、运行容器3、进入容器方式一方式二方式三容器进入后连接mysql和在宿主机连接mysql的区别 持久化数据持久化数据最佳实践 1、拉取镜像 docker pull mysql2、运行容器 docker run -d -p 3307:3306 --name mysql-container -e MYSQL_ROOT_PASSWORD123456 …

Python实现FA萤火虫优化算法优化随机森林回归模型(RandomForestRegressor算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 萤火虫算法(Fire-fly algorithm,FA)由剑桥大学Yang于2009年提出 , …

意大利语翻译成中文怎样做比较好

近年来,中意两国传统友好,两国人民之间的交往源远流长,双方合作不断推进,国内市场对于意大利语翻译的需求日益增加。那么,意大利语翻译有何特点,意大利语翻译成中文怎样做比较好呢? 由于意大利语…

matlab实践(十):贝塞尔曲线

1.贝塞尔曲线 贝塞尔曲线的原理是基于贝塞尔曲线的数学表达式和插值算法。 贝塞尔曲线的数学表达式可以通过控制点来定义。对于二次贝塞尔曲线,它由三个控制点P0、P1和P2组成,其中P0和P2是曲线的起点和终点,P1是曲线上的一个中间点。曲线上…

Leetcode每日一题学习训练——Python3版(最小化旅行的价格总和)

版本说明 当前版本号[20231206]。 版本修改说明20231206初版 目录 文章目录 版本说明目录最小化旅行的价格总和理解题目代码思路参考代码 原题可以点击此 2646. 最小化旅行的价格总和 前去练习。 最小化旅行的价格总和 现有一棵无向、无根的树,树中有 n 个节点…

LeetCode Hot100 207.课程表

题目: 你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习…

人工智能在警务工作中的运用

AI 能否帮助警察打击犯罪? 执法部门负责维护公共安全,他们必须处理随之而来的所有挑战。幸运的是,警察可以依靠技术来处理很多工作。近几年来,尤其是人工智能技术在全球变成了警务工作中的一个重要部分。 随着基于 AI 的警务技术…

如何在Java中实现多条件排序

文章目录 前言一、在Java中使用Comparator接口实现多条件排序二、视频讲解总结 前言 多条件排序是一个复杂而实用的技术问题,它涉及到算法、数据结构等多个领域。 在实际工作中,我们常常需要根据多个条件对数据进行排序,以达到最优化的效果。…

桶排序去重

题目&#xff1a; #include<stdio.h> int main() { int a[1001], n, i, t; for (i 1;i < 1000;i) { a[i] 0;//初始化 } scanf("%d", &n);//读入n for (i 1;i < n;i)//循环读入n个图书的ISBN号 { scanf(&…

ABAP 字符串空白值保留长度或者用其他字符替代

保留空白值在字符串的长度。 DATA lv_char1 TYPE string VALUE Hello. DATA lv_char2 TYPE string VALUE World. DATA LV_CHAR3 TYPE C LENGTH 50.DATA(lv_string3) |{ lv_char1 } { lv_char2 }!|.WRITE: / lv_string3.DATA(lv_string2) lv_char1 && | { lv_char3 } …