Part01 ☀️
Part01 ☀️
课程内容
- Java编程环境安装
- JDK安装Java运行环境
- Idea工具安装和配置编码工具
- Maven介绍和安装以及创建Maven入门工程(0-1工程)构建工具
- 完成Maven工程的导入(1-2工程)就业必会
- AI编程插件提高编码速度!
- 数据库介绍、安装以及入门操作
- 安装Mysql数据库结构化存储数据
- 安装Navicat或者Sqlyog或者Idea等可视化操作软件可视化操作工具
- 理解库、表、字段、表和表的关系以及单表常见语句等知识。数据库常识
- 使用
MybatisPlus
操作完成数据的增删改查Java操作数据库
1. 环境、软件安装
提示信息
- 实训课程资料下载:

链接:https://pan.baidu.com/s/1kd6IYPaZA45PPKHzCWtZDA?pwd=8888 提取码:8888 复制这段内容后打开百度网盘手机App,操作更方便哦
1.1 JDK 安装
JDK 安装
JDK定义

- JDK是 java 运行环境配置的工具包,能够是 java 程序运行更加方便顺畅,帮助用户进行编程开发时代码数据库调用,
- 安装 JDK 是学习 java 程序语言的第一步
- JDK 是整个 java 程序的核心,包含 java 运行环境、java 工具和 java 基础类库等,是 java 语言开发工作者必备的工具,让编程更加高效和简单。
- 安装和教程如下:

jdk-11.0.20_windows-x64_bin是JDK11的版本
jdk-8u162-windows-x64.exe是JDK8的版本
- 说明:
安装 JDK 后,配置环境变量 JAVA_HOME,并且在
cmd
窗口中,输入java -version
提示如下图企业开发中基本都是使用 jdk1.8,外卖项目需要安装 jdk1.8或者jdk11
上面的2个版本都是企业中常用的版本,安装任意一个都可以,Oracle公司也会长期更新。
1.2 Idea 安装
Idea 安装
Idea定义

- IDEA 全称 IntelliJ IDEA,是 java 编程语言的集成开发环境。
- IntelliJ 在业界被公认为最好的 Java 开发工具,尤其在AI代码助手、代码自动提示、重构、JavaEE 支持、各类版本工具(git、svn 等)、JUnit(单元测试)、代码分析、 创新UI设计等方面的功能非常好用。
- IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版还支持 HTML,CSS,PHP,MySQL,Python 等。
安装和教程如下:
2020版本 2023版本
😃 安装任何一个版本都可以,编码都是一样的哦,无非就是新版本的支持的插件稍微多一些,皮肤跟好看一点
- 安装注意事项:
- 安装 idea 后,会提示是否试用,可以选择试用(30 天)
- 在安装
Idea
后,在Idea
中配置jdk
1.3 Maven
Maven

Maven 是专门用于管理和构建 Java 项目的工具Java开发几乎必用
为什么要使用maven构建工具构建工程?
- 一个项目就是一个工程

如果项目非常庞大,就不适合使用package来划分模块,最好是每一个模块对应一个工程,利于分工协作。借助于maven就可以将一个项目拆分成多个工程
- 项目中使用jar包,需要“复制”、“粘贴”项目的lib中
同样的jar包重复的出现在不同的项目工程中,你需要做不停的复制粘贴的重复工作。借助于maven,可以将jar包保存在“仓库”中,不管在哪个项目只要使用引用即可就行。
- jar包需要的时候每次都要自己准备好或到官网下载
借助于maven我们可以使用统一的规范方式下载jar包,规范
- jar包版本不一致的风险
不同的项目在使用jar包的时候,有可能会导致各个项目的jar包版本不一致,导致未执行错误。借助于maven,所有的jar包都放在“仓库”中,所有的项目都使用仓库的一份jar包。
- 一个jar包依赖其他的jar包需要自己手动的加入到项目中
FileUpload组件->IO组件,commons-fileupload-1.3.jar依赖于commons-io-2.0.1.jar极大的浪费了我们导入包的时间成本,也极大的增加了学习成本。借助于maven,它会自动的将依赖的jar包导入进来。
- 提供了一套标准化的项目结构


不同工具开发,目录结构完全一致,维护成本很低!
- 提供了一套标准化的构建流程(编译,测试,打包,发布……)


- Maven仓库存储Jar包

- 本地仓库,就是电脑本地的一个文件夹
- 中央仓库:全世界共用的一个大文件夹,在国外,装着开源的jar,很多很多!!
- 远程仓库(私服):公司内部搭建的服务器,有一些版权的,私密的jar包
1️⃣ 1. 安装和教程如下:

maven 是绿色版软件,直接解压即可,具体步鄹,可以查看图片教程(如下)

安装步鄹
- 解压 apache-maven-3.6.1.rar 到非中文目录,既安装完成
- 配置本地仓库:修改 conf/settings.xml 中的
<localRepository>
为一个指定目录 - 配置阿里云私服国内下载速度杠杠的:修改 conf/settings.xml 中的
<mirrors>
标签,为其添加如下子标签:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
如果已经配置,不需要重复配置
idea
工具一起用的强强联手!,因此可以不单独配置环境变量,但是需要在idea 中配置 如下:
2️⃣ 2.maven 是配合1、进入到IDEA欢迎页面
- 选择 IDEA中 File => close project

2、打开 All settings , 选择 Build,Execution,Deployment => Build Tools => Maven

- maven home path 是maven的安装路径
- user setting file 是maven的配置文件settting.xml 里面配置了仓库位置
- local respository 不勾选的情况下,说的就是maven的本地仓库(本地jar包的文件夹)
3、配置工程的编译版本为11

这里所设置的maven的环境信息,并未指定任何一个project,此时设置的信息就属于全局配置信息。 以后,我们再创建project,默认就是使用我们全局配置的信息。
如果还是很模糊,可以看点击查看Gif动画 🎥
验证下Maven三项功能点
3️⃣ 3.创建一个简单的Maven工程一定要先配置Maven !!!
1、创建一个项目

2、检查Maven配置是否正确

2、在Maven工程下,创建HelloWorld类
现在java文件夹下,创建package cn.itcast


3、编写 HelloWorld,并运行
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World ...");
}
}
课堂练习
🚩 1. 根据上述步骤,完成jdk,IDEA,maven的安装和配置,并且创建一个简单的Maven工程,并且运行main方法,在控制台输出“重生在黑马学Java”
1.4 MySQL 安装
MySQL 安装
Monty,是MySQL的CTO和联合创始人,撰写了MySQL95%的服务器端代码。在MySQL以10亿美元的价格被卖给SUN,SUN又被Oracle收购后,MySQL的所有权也落入Oracle的手中。为了保持MySQL的开源使用不受影响,Monty又在2009年创立了MariaDB。
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。
MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
项目使用 MySQL5.7或Mysql8.0版本已经安装了,不需要重装
跳转到 顶部的
环境、软件安装
中下载资料中下载
- 按照下图,连接数据库
1. 安装和教程如下:
总结
课堂作业
- 参考上述步骤,完成数据库的安装和idea连接数据库,以及
创建数据库testnm
并创建一张表tbl_user表
🎤

-- 创建数据库 nmtest
CREATE DATABASE nmtest;
-- 如果存在,就删除tbl_user表
DROP TABLE IF EXISTS `tbl_user`;
-- 创建tbl_user表
CREATE TABLE `tbl_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(32) NOT NULL,
`password` varchar(32) NOT NULL,
`age` int(3) NOT NULL,
`tel` varchar(32) NOT NULL,
`deleted` int(11) DEFAULT '0' COMMENT '0正常 -1删除',
`version` int(11) DEFAULT '1' COMMENT '版本',
PRIMARY KEY (`id`)
);
-- 插入数据
INSERT INTO `tbl_user` VALUES ('3', 'jerry', '123456', '15', '12345678910', '-1', '1');
INSERT INTO `tbl_user` VALUES ('4', 'tom', '123456', '9', '12345678917', '0', '1');
INSERT INTO `tbl_user` VALUES ('5', 'snake', '123456', '28', '12345678910', '0', '1');
1.5 Idea常用插件安装
Idea常用插件
Maven Helper 可以帮助我们在 IDEA 中更好地开发 maven 项目,主要功能包括:
- 更方便地执行 maven 命令;
- 分析和排除 Maven 冲突;
- 自定义 Maven goals;
- 在当前 Module 所在的路径中打开 Terminal;

合理地使用 Lombok 可以极大程度地简化代码,让代码的可读性更强。 Lombok 插件让 IDEA 拥有兼容 Lombok 的能力。
@Slf4j酸辣粉日志注解
@Data注解
需要导入依赖:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
通义灵码,你的智能编码助手。你可以问我关于编码相关的问题,我们一起更高效率、更高质量地完成编码工作

总结
课堂作业
- 根据上述提示,完成4个插件的安装,如果已经安装了类似的插件,也可以不装哦!🎤
2 SpringBoot 初体验 ✏️ ❤️
2.1 Boot概述
SpringBoot
在没有正式的学习SpringBoot之前,我们要先来了解下什么是Spring。
我们可以打开Spring的官网(https://spring.io),去看一下Spring的简介:Spring makes Java simple。

Spring的官方提供很多开源的项目,我们可以点击上面的projects,看到spring家族旗下的项目,按照流行程度排序为:

Spring发展到今天已经形成了一种开发生态圈,Spring提供了若干个子项目,每个项目用于完成特定的功能。而我们在项目开发时,一般会偏向于选择这一套spring家族的技术,来解决对应领域的问题,那我们称这一套技术为spring全家桶。

而Spring家族旗下这么多的技术,最基础、最核心的是 SpringFramework。其他的spring家族的技术,都是基于SpringFramework的,SpringFramework中提供很多实用功能,如:依赖注入、事务管理、web开发支持、数据访问、消息服务等等。

而如果我们在项目中,直接基于SpringFramework进行开发,存在两个问题:配置繁琐、入门难度大。

所以基于此呢,spring官方推荐我们从另外一个项目开始学习,那就是目前最火爆的SpringBoot。
通过springboot就可以快速的帮我们构建应用程序,所以springboot呢,最大的特点有两个 :
- 简化配置
- 快速开发
Spring Boot 可以帮助我们非常快速的构建应用程序、简化开发、提高效率 。
接下来,我们就直接通过一个SpringBoot的web入门程序,让大家快速感受一下,基于SpringBoot进行Web开发的便捷性。🎯
总结
课堂作业
- 为什么要学习Spring技术?
- 为什么要学习Springboot?
- Spring Boot最大的特点是什么?🎤
2.2 Boot入门程序
入门程序
需求:基于SpringBoot的方式开发一个web应用,浏览器发起请求/hello后,给浏览器返回字符串 "Hello World ~"。

代码操作
开发步骤
第1步:创建SpringBoot工程
第2步:定义HelloController类,添加方法hello,并添加注解
第3步:测试运行
背景介绍:

因此,需要使用maven方式创建Boot工程
Spring Boot 官方不再支持 Spring Boot 的 2.x 版本了,之后全力维护 3.x;而 Spring Boot 3.x 对 JDK 版本的最低要求是 17!
1. 创建maven工程 springboot-quickstart
- 项目创建成功后,在pom.xml中添加
<parent></parent>
父依赖,企业中使用2.7.4以下版本较多
<!-- springboot父工程-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.4</version>
<relativePath/>
</parent>
然后在引入依赖管理和插件
<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>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.7.4</version>
</plugin>
</plugins>
</build>
整体效果如下:

2.3 Boot入门程序解析
入门程序我们已经搞定了,接下来,我们就一起来解析一下我们所编写的入门程序。
入门程序解析
1. main方法如何启动Tomcat ?

因为我们在创建springboot项目的时候,选择了web开发的起步依赖 spring-boot-starter-web。而spring-boot-starter-web依赖,又依赖了spring-boot-starter-tomcat,由于maven的依赖传递特性,那么在我们创建的springboot项目中也就已经有了tomcat的依赖,这个其实就是springboot中内嵌的tomcat。
而我们运行引导类中的main方法,其实启动的就是springboot中内嵌的Tomcat服务器。 而我们所开发的项目,也会自动的部署在该tomcat服务器中,并占用8080端口号 。

3. Springboot+MybatisPlus 初体验 ✏️ 🍐
MybatisPlus
目前企业中都会使用一些组件来简化或省略单表的 CRUD 开发工作。目前在国内使用较多的一个组件就是 MybatisPlus.
官方网站如下:https://baomidou.com/

当然,MybatisPlus 不仅仅可以简化单表操作,而且还对 Mybatis 的功能有很多的增强。可以让我们的开发更加的简单,高效。
通过今天的学习,我们要达成下面的目标:
- 能利用 MybatisPlus 实现基本的 CRUD
- 会使用条件构建造构建查询和更新语句
- 会使用 MybatisPlus 中的常用注解
- 会使用 MybatisPlus 处理枚举、JSON 类型字段
- 会使用 MybatisPlus 实现分页
代码操作
完成数据库的安装和idea连接数据库,以及创建数据库nmtest
并创建一张表tbl_user表
🎤

-- 创建数据库 nmtest
CREATE DATABASE nmtest;
-- 如果存在,就删除tbl_user表
DROP TABLE IF EXISTS `tbl_user`;
-- 创建tbl_user表
CREATE TABLE `tbl_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(32) NOT NULL,
`password` varchar(32) NOT NULL,
`age` int(3) NOT NULL,
`tel` varchar(32) NOT NULL,
`deleted` int(11) DEFAULT '0' COMMENT '0正常 -1删除',
`version` int(11) DEFAULT '1' COMMENT '版本',
PRIMARY KEY (`id`)
);
-- 插入数据
INSERT INTO `tbl_user` VALUES ('3', 'jerry', '123456', '15', '12345678910', '-1', '1');
INSERT INTO `tbl_user` VALUES ('4', 'tom', '123456', '9', '12345678917', '0', '1');
INSERT INTO `tbl_user` VALUES ('5', 'snake', '123456', '28', '12345678910', '0', '1');
- 导入MybatisPlus需要的依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<optional>true</optional>
</dependency>

- 创建application.yml配置文件,添加链接信息
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/nmtest?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 1234
logging:
level:
com.itheima: debug
pattern:
dateformat: HH:mm:ss

- 使用MybatisX插件生成数据库表tbl_user的实体类User
也可以在cn.itcast下创建entity包,将下列代码复制粘贴
package cn.itcast.entity;
import java.io.Serializable;
import lombok.Data;
@Data
@TableName("tbl_user")
public class User implements Serializable {
private Long id;
private String name;
private String password;
private Integer age;
private String tel;
private Integer deleted;
private Integer version;
private static final long serialVersionUID = 1L;
}
- 在cn.itcast下创建mapper包,并且创建UserMapper接口
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
至此,准备工作做好了,接下来,测试
- 在HelloController中注入UserMapper

- 访问链接 测试看看

4 Maven 项目导入(12项目) ✏️
Maven 项目导入
焱哥,发送在微信群里了

导入步骤:

按照上述步骤,导入已有的Maven工作
注意 :导入成功后,需要检查Maven的配置,并且初次导入时间较长,可能是因为需要下载jar包,后续不会重复下载!
- 修改数据库名字为reggie,用户名和密码和自己的对应

- 找到ReggieApplication启动类,点击启动


- 打开浏览器,输入地址,访问测试
测试地址:http://localhost:8080/backend/index.html
