Part01 ☀️

YangeIT大约 20 分钟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/1ibj1eez8-wdHxuJpo2xRhg?pwd=8848open in new window 提取码:8848 --来自百度网盘超级会员V9的分享

软件资料:👇

image
image

需求

  1. 安装JDK
  2. 安装编程工具IDEA
  3. 安装MySQL数据库
  4. 安装Maven
  5. 安装Idea常用的插件

代码操作

🎯 JDK

  1. JDK是 java 运行环境配置的工具包,能够是 java 程序运行更加方便顺畅,帮助用户进行编程开发时代码数据库调用,

  2. 安装 JDK 是学习 java 程序语言的第一步

  3. JDK 是整个 java 程序的核心,包含 java 运行环境、java 工具和 java 基础类库等,是 java 语言开发工作者必备的工具,让编程更加高效和简单。

  4. 安装和教程如下:

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公司也会长期更新。


🎯 Idea

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

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

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

🎯 Maven

image
image

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

  1. 提供一个标准化的目录结构
  2. 提供依赖管理
  3. 提供一整套指令

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

点击查看安装教程👈


🎯 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版本已经安装了,不需要重装

4.1 Mysql安装包

跳转到 顶部的环境、软件安装中下载资料中下载 image

点击查看mysql8.0详细安装教程 👈

4.2 Idea链接Mysql

  1. 按照下图,连接数据库 image

总结

课堂作业

  1. 参考上述讲义,完成软件和插件的安装!🎤

如果不清楚自己是否装了,可以举手问焱哥

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 可以帮助我们非常快速的构建应用程序、简化开发、提高效率 。


image
image

SpringBoot 几乎霸占了整个微服务市场, 所以,大家在日常工作学习过程中,还是要学习SpringBoot

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

总结

课堂作业

  1. 为什么要学习Springboot?
  2. 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!

而国内主流JDK为:8和11。

1、创建一个项目

imageimage

image
image

2、检查Maven配置是否正确

image
image

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

4. 整体效果如下:image

如果不清晰流程,可以点击下面的链接查看详细流程👇

点击查看完整的创建流程步骤open in new window

2.3 SpringBoot入门程序解析

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

入门程序解析

Tomcat,是一个开源的Web应用服务器。 它可以看作是一个“小型网站服务器”,主要用于运行Java编写的网站

image
image

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下集成Mybatis框架(注解)

SpringBoot下集成Mybatis框架

MyBatis
MyBatis

MyBatis 是一个持久层框架,用于简化 Java 应用程序与关系型数据库的交互。它通过将 SQL 语句与 Java 代码进行映射,提供了一种方便且灵活的方式来访问和操作数据库

中文网open in new window

需求1:查询所有用户,输出在控制台可以先自己分析

点击查看详细步骤
  1. 在UserMapper接口中,创建selectAll方法,并且在方法上添上注解。点击查看图解open in new window

  2. 在test下的SpringbootdemoApplicationTests中添加一个test的测试方法。点击查看图解open in new window

  3. 在SpringbootdemoApplicationTests中自动注入UserMapper接口的代理对象,并在test测试方法中调用这个对象的selectAll方法,输出结果。点击查看图解open in new window

需求2:查询名字叫 陆雪琪的用户,输出在控制台

点击查看详细步骤
  1. 在UserMapper接口中,创建selectByName方法,并且在方法上添上注解。 点击查看图解open in new window

  2. 在test下的SpringbootdemoApplicationTests中添加一个test1的测试方法。点击查看图解open in new window

需求3:爱好中含有 "法术" 的用户,输出在控制台

点击查看详细步骤
  1. 在UserMapper接口中,创建selectByCondition方法,配上参数。点击查看图解open in new window

  2. 在test下的SpringbootdemoApplicationTests中添加一个test2的测试方法。点击查看图解open in new window

  3. 在resource下创建一个和UserMapper包名的同名多级文件夹 ,并且在文件夹下创建UserMapper.xml同名文件(后缀名不一样)。点击查看图解open in new window

  4. 然后再UserMapper.xml文件中,将下述代码复制到文件中。点击查看图解open in new window

<?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.itcast.mapper.UserMapper">

    <select id="selectByCondition" resultType="com.itcast.domain.User">

    SELECT  * from user where hobby like concat('%',#{hobby},'%')

    </select>


</mapper>

测试效果:👇

测试效果
测试效果

需求4:完成了需求3后,根据下面的接口描述,完成该接口的代码书写

请求参数:

  • 接口作用:通过传入关键字,查询名字、爱好、描述、门派含有此关键字的用户列表
  • 接口地址:localhost:8848/users/queryByCondition
  • 请求方式:POST
  • 参数:name=关键字

响应结果:

点击查看详细步骤

点击查看1-2步骤图解open in new window

  1. 控制层,在UserController类中增加一个,queryByCondition的方法,参数为字符串name,返回值为Result,在方法中调用服务层对象的返回List<User>

  2. 服务层,在UserService接口创建queryByCondition的方法,并且在UserServiceImpl实现类中,调用UserMapper的代理对象,查询数据库,返回List<User>

  3. 持久层,考虑到语句较为复杂,Sql语句写在映射文件UserMapper.xml中,结合where和if标签做动态Sql。

  4. 打开Apifox软件,随意输入一些参数,如青云、南宫、法术、剑术等进行测试,观察返回值

点击查看3-4步骤图解open in new window

👉如果你完成了上述4个需求,恭喜你👍,掌握了SpringBoot下集成Mybatis框架基本操作,接下来可以做一个小项目巩固下了! 🎉

点击我开始学习项目吧!!