Part01 ☀️

YangeIT大约 18 分钟JDKIdeaMavenMySQLSpringBootMybatisPlusHtml

Part01 ☀️

课程内容

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

1. 环境、软件安装

提示信息

  1. 实训课程资料下载:
image
image

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

1.1 JDK 安装

JDK 安装

JDK定义

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

jdk-11.0.20_windows-x64_bin是JDK11的版本

jdk-8u162-windows-x64.exe是JDK8的版本

  1. 说明:
    • 安装 JDK 后,配置环境变量 JAVA_HOME,并且在cmd窗口中,输入java -version 提示如下图

    • 企业开发中基本都是使用 jdk1.8,外卖项目需要安装 jdk1.8或者jdk11

    • 上面的2个版本都是企业中常用的版本,安装任意一个都可以,Oracle公司也会长期更新。

1.2 Idea 安装

Idea 安装

Idea定义

  1. IDEA 全称 IntelliJ IDEA,是 java 编程语言的集成开发环境
  2. IntelliJ 在业界被公认为最好的 Java 开发工具,尤其在AI代码助手、代码自动提示、重构、JavaEE 支持、各类版本工具(git、svn 等)、JUnit(单元测试)、代码分析、 创新UI设计等方面的功能非常好用。
  3. IDEAJetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版还支持 HTML,CSS,PHP,MySQL,Python 等。 image
  1. 安装和教程如下:

    2020版本
    2020版本
    2023版本
    2023版本

😃 安装任何一个版本都可以,编码都是一样的哦,无非就是新版本的支持的插件稍微多一些,皮肤跟好看一点

  1. 安装注意事项:
  • 安装 idea 后,会提示是否试用,可以选择试用(30 天)
  • 在安装 Idea 后,在 Idea 中配置 jdk

1.3 Maven

Maven

image
image

Maven 是专门用于管理和构建 Java 项目的工具Java开发几乎必用

官网:https://maven.apache.org/open in new window

为什么要使用maven构建工具构建工程?

  1. 一个项目就是一个工程
image
image

如果项目非常庞大,就不适合使用package来划分模块,最好是每一个模块对应一个工程,利于分工协作。借助于maven就可以将一个项目拆分成多个工程


  1. 项目中使用jar包,需要“复制”、“粘贴”项目的lib中image

同样的jar包重复的出现在不同的项目工程中,你需要做不停的复制粘贴的重复工作。借助于maven,可以将jar包保存在“仓库”中,不管在哪个项目只要使用引用即可就行。


  1. jar包需要的时候每次都要自己准备好或到官网下载image

借助于maven我们可以使用统一的规范方式下载jar包,规范


  1. jar包版本不一致的风险image

不同的项目在使用jar包的时候,有可能会导致各个项目的jar包版本不一致,导致未执行错误。借助于maven,所有的jar包都放在“仓库”中,所有的项目都使用仓库的一份jar包。


  1. 一个jar包依赖其他的jar包需要自己手动的加入到项目中image

FileUpload组件->IO组件,commons-fileupload-1.3.jar依赖于commons-io-2.0.1.jar极大的浪费了我们导入包的时间成本,也极大的增加了学习成本。借助于maven,它会自动的将依赖的jar包导入进来。


  1. 提供了一套标准化的项目结构
image
image

不同工具开发,目录结构完全一致,维护成本很低!


  1. 提供了一套标准化的构建流程(编译,测试,打包,发布……)
image
image

课堂练习

🚩 1. 根据上述步骤,完成jdk,IDEA,maven的安装和配置,并且创建一个简单的Maven工程,并且运行main方法,在控制台输出“重生在黑马学Java”

1.4 MySQL 安装

MySQL 安装

mysql的创始人Monty

Monty,是MySQL的CTO和联合创始人,撰写了MySQL95%的服务器端代码。在MySQL以10亿美元的价格被卖给SUN,SUN又被Oracle收购后,MySQL的所有权也落入Oracle的手中。为了保持MySQL的开源使用不受影响,Monty又在2009年创立了MariaDB。

MySQL 是一个关系型数据库管理系统open in new window,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。

  1. MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

  2. 项目使用 MySQL5.7或Mysql8.0版本已经安装了,不需要重装

1. 安装和教程如下:

mysql8.0详细安装教程

总结

课堂作业

  1. 参考上述步骤,完成数据库的安装和idea连接数据库,以及创建数据库testnm并创建一张表tbl_user表🎤
image
image
-- 创建数据库 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');


点击查看sql语句执行详情open in new window

1.5 Idea常用插件安装

Idea常用插件

Maven Helperimage 可以帮助我们在 IDEA 中更好地开发 maven 项目,主要功能包括:

  • 更方便地执行 maven 命令;
  • 分析和排除 Maven 冲突;
  • 自定义 Maven goals;
  • 在当前 Module 所在的路径中打开 Terminal;

点击查看MavenHelper安装open in new window 👈 👈

1.更多idea插件可以点击查看open in new window 👍

2.Idea官网插件市场open in new window

总结

课堂作业

  1. 根据上述提示,完成4个插件的安装,如果已经安装了类似的插件,也可以不装哦!🎤

2 SpringBoot 初体验 ✏️ ❤️

2.1 Boot概述

SpringBoot

在没有正式的学习SpringBoot之前,我们要先来了解下什么是Spring。

我们可以打开Spring的官网(https://spring.ioopen in new window),去看一下Spring的简介:Spring makes Java simple。

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

image-20231122163315170
image-20231122163315170

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

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

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

所以基于此呢,spring官方推荐我们从另外一个项目开始学习,那就是目前最火爆的SpringBoot。

通过springboot就可以快速的帮我们构建应用程序,所以springboot呢,最大的特点有两个 :

  • 简化配置
  • 快速开发

Spring Boot 可以帮助我们非常快速的构建应用程序、简化开发、提高效率 。

接下来,我们就直接通过一个SpringBoot的web入门程序,让大家快速感受一下,基于SpringBoot进行Web开发的便捷性。🎯

总结

课堂作业

  1. 为什么要学习Spring技术?
  2. 为什么要学习Springboot?
  3. Spring Boot最大的特点是什么?🎤

2.2 Boot入门程序

入门程序

需求:基于SpringBoot的方式开发一个web应用,浏览器发起请求/hello后,给浏览器返回字符串 "Hello World ~"。

image-20231122163417687

代码操作

开发步骤

第1步:创建SpringBoot工程

第2步:定义HelloController类,添加方法hello,并添加注解

第3步:测试运行

背景介绍:

image
image

因此,需要使用maven方式创建Boot工程

Spring Boot 官方不再支持 Spring Boot 的 2.x 版本了,之后全力维护 3.x;而 Spring Boot 3.x 对 JDK 版本的最低要求是 17!

1. 创建maven工程 springboot-quickstart

👉 点击查看创建流程步骤open in new window

  1. 项目创建成功后,在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>

整体效果如下:image

2.3 Boot入门程序解析

入门程序我们已经搞定了,接下来,我们就一起来解析一下我们所编写的入门程序。

入门程序解析

1. main方法如何启动Tomcat ?

image
image

因为我们在创建springboot项目的时候,选择了web开发的起步依赖 spring-boot-starter-web。而spring-boot-starter-web依赖,又依赖了spring-boot-starter-tomcat,由于maven的依赖传递特性,那么在我们创建的springboot项目中也就已经有了tomcat的依赖,这个其实就是springboot中内嵌的tomcat。

而我们运行引导类中的main方法,其实启动的就是springboot中内嵌的Tomcat服务器。 而我们所开发的项目,也会自动的部署在该tomcat服务器中,并占用8080端口号 。

image
image

3. Springboot+MybatisPlus 初体验 ✏️ 🍐

MybatisPlus

目前企业中都会使用一些组件来简化或省略单表的 CRUD 开发工作。目前在国内使用较多的一个组件就是 MybatisPlus.

官方网站如下:https://baomidou.com/open in new window

image-20231119103607434
image-20231119103607434

当然,MybatisPlus 不仅仅可以简化单表操作,而且还对 Mybatis 的功能有很多的增强。可以让我们的开发更加的简单,高效。

通过今天的学习,我们要达成下面的目标:

  • 能利用 MybatisPlus 实现基本的 CRUD
  • 会使用条件构建造构建查询和更新语句
  • 会使用 MybatisPlus 中的常用注解
  • 会使用 MybatisPlus 处理枚举、JSON 类型字段
  • 会使用 MybatisPlus 实现分页

代码操作

完成数据库的安装和idea连接数据库,以及创建数据库nmtest并创建一张表tbl_user表🎤

image
image
-- 创建数据库 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');


4 Maven 项目导入(12项目) ✏️

Maven 项目导入

焱哥,发送在微信群里了

image
image

导入步骤:

image
image

按照上述步骤,导入已有的Maven工作

注意 :导入成功后,需要检查Maven的配置,并且初次导入时间较长,可能是因为需要下载jar包,后续不会重复下载!