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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 【从0配置JAVA项目相关环境1】jdk + VSCode运行java + mysql + Navicat + 数据库本地化 + 启动java项目


写在最前面

实验室电脑,需要跑一个前后端分离的JAVA项目,于是开始重新配置

全部(数据库+后端+前端)配置环境+修改代码 耗时6h,包括遇到各种坑,但总体而言弯路走的不多

如果跟着这篇博客走,理论上会避开我遇到的那些坑hh


在当今快速发展的技术世界中,Java仍然是最受欢迎和广泛使用的编程语言之一,了解Java及其相关环境的配置几乎是每个开发者的必经之路。

这篇博客旨在为那些刚刚踏入Java编程世界的新手提供一份全面而详细的指南,从安装Java的JDK环境到配置VSCode、MySQL和Navicat,再到运行前端项目,我们将一步步引导你穿越这个看似复杂却充满乐趣的配置之旅。

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

让我们开始吧!

一、安装Java的jdk环境


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; // 这行代码声明了一个整数变量
  1. 多行注释:使用 /* 开始和 */ 结束,适用于跨越多行的注释。这种注释可用于提供更详细的说明或临时禁用一段代码。
    示例:
/* 这是一个多行注释
   可以跨越多行 */
int number = 5;
  1. 文档注释:使用 /** 开始和 */ 结束,用于生成 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运行的选项,否则没有)

成功运行!


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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
9天前
|
安全 Java 编译器
JDK 10中的局部变量类型推断:Java编程的简化与革新
JDK 10引入的局部变量类型推断通过`var`关键字简化了代码编写,提高了可读性。编译器根据初始化表达式自动推断变量类型,减少了冗长的类型声明。虽然带来了诸多优点,但也有一些限制,如只能用于局部变量声明,并需立即初始化。这一特性使Java更接近动态类型语言,增强了灵活性和易用性。
92 53
|
17天前
|
Java 数据库连接 数据库
如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面
本文介绍了如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面。通过合理配置初始连接数、最大连接数和空闲连接超时时间,确保系统性能和稳定性。文章还探讨了同步阻塞、异步回调和信号量等并发控制策略,并提供了异常处理的最佳实践。最后,给出了一个简单的连接池示例代码,并推荐使用成熟的连接池框架(如HikariCP、C3P0)以简化开发。
38 2
|
28天前
|
安全 Java 数据安全/隐私保护
如何配置 Java 安全管理器来避免访问控制异常
配置Java安全管理器以防止访问控制异常,需在启动JVM时通过 `-Djava.security.manager` 参数启用,并设置安全策略文件,定义权限规则,限制代码执行操作,确保应用安全。
|
30天前
|
Java BI 调度
Java Spring的定时任务的配置和使用
遵循上述步骤,你就可以在Spring应用中轻松地配置和使用定时任务,满足各种定时处理需求。
123 1
|
1月前
|
Java
让星星⭐月亮告诉你,jdk1.8 Java函数式编程示例:Lambda函数/方法引用/4种内建函数式接口(功能性-/消费型/供给型/断言型)
本示例展示了Java中函数式接口的使用,包括自定义和内置的函数式接口。通过方法引用,实现对字符串操作如转换大写、数值转换等,并演示了Function、Consumer、Supplier及Predicate四种主要内置函数式接口的应用。
25 1
|
9天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。
|
18天前
|
安全 Java
java 中 i++ 到底是否线程安全?
本文通过实例探讨了 `i++` 在多线程环境下的线程安全性问题。首先,使用 100 个线程分别执行 10000 次 `i++` 操作,发现最终结果小于预期的 1000000,证明 `i++` 是线程不安全的。接着,介绍了两种解决方法:使用 `synchronized` 关键字加锁和使用 `AtomicInteger` 类。其中,`AtomicInteger` 通过 `CAS` 操作实现了高效的线程安全。最后,通过分析字节码和源码,解释了 `i++` 为何线程不安全以及 `AtomicInteger` 如何保证线程安全。
java 中 i++ 到底是否线程安全?
|
5天前
|
安全 Java 开发者
深入解读JAVA多线程:wait()、notify()、notifyAll()的奥秘
在Java多线程编程中,`wait()`、`notify()`和`notifyAll()`方法是实现线程间通信和同步的关键机制。这些方法定义在`java.lang.Object`类中,每个Java对象都可以作为线程间通信的媒介。本文将详细解析这三个方法的使用方法和最佳实践,帮助开发者更高效地进行多线程编程。 示例代码展示了如何在同步方法中使用这些方法,确保线程安全和高效的通信。
25 9
|
8天前
|
存储 安全 Java
Java多线程编程的艺术:从基础到实践####
本文深入探讨了Java多线程编程的核心概念、应用场景及其实现方式,旨在帮助开发者理解并掌握多线程编程的基本技能。文章首先概述了多线程的重要性和常见挑战,随后详细介绍了Java中创建和管理线程的两种主要方式:继承Thread类与实现Runnable接口。通过实例代码,本文展示了如何正确启动、运行及同步线程,以及如何处理线程间的通信与协作问题。最后,文章总结了多线程编程的最佳实践,为读者在实际项目中应用多线程技术提供了宝贵的参考。 ####
|
5天前
|
监控 安全 Java
Java中的多线程编程:从入门到实践####
本文将深入浅出地探讨Java多线程编程的核心概念、应用场景及实践技巧。不同于传统的摘要形式,本文将以一个简短的代码示例作为开篇,直接展示多线程的魅力,随后再详细解析其背后的原理与实现方式,旨在帮助读者快速理解并掌握Java多线程编程的基本技能。 ```java // 简单的多线程示例:创建两个线程,分别打印不同的消息 public class SimpleMultithreading { public static void main(String[] args) { Thread thread1 = new Thread(() -> System.out.prin