今天就来开始带领大家零基础入门Java开发
写在前面 为什么学习JavaJava用途很广泛,如下图所示,Java可以做很多工作
2019年3月,JDK12版本发布。
2019年9月,JDK13版本发布。
2020年3月,JDK14版本发布。
2020年9月,JDK15版本发布。
2021年3月,JDK16版本发布
2021年9月14日, JDK17版本发布,此版本也将作为一个LTS版本,即长期使用版本。
在这么多版本里最重要的是5,8,11,17。当然现在市面上主流的使用版本是Java8,我们第3章会将jdk8的安装。
1-1,IntelliJ IDEA软件的下载工欲善其事必先利其器,我们学习Java开发,就要先找一款合适的开发工具,现在市面上主流的Java开发工具就是IntelliJ IDEA,后面简称idea,我们先教大家如何下载并安装idea
-
1,去官网下载
官网地址:https://www.jetbrains.com/idea (由于是国外网址,可能打开的比较慢,如果觉得慢,可以用第2种方法,直接百度下载即可)
进入官网以后点击Download即可
然后根据自己的系统安装即可,window,mac,linux都有
-
2,借助万能的百度了
不同电脑上安装步骤可能有些差异,下面步骤仅供参考(如果不一样,自己可以百度下安装教程,也可以跟着网上的安装教程进行安装)。
- 1,双击安装
- 2,点击next
- 3,选择安装目录
- 4,勾选
如果你是32位的电脑,就勾选32
- 5,安装
- 6,等待安装
- 7,点击finish
-
1,点击打开软件
如果找不到图标,就可以去常用软件找图标即可。
-
2,选择do not import settings,然后点击ok
-
3,同意协议,点击continue
-
4,点击Dont send
-
5,设置主题,直接跳过即可
我们这里以idea2022为例,创建一个新项目如下。
如果你是老一点的版本,创建项目如下
其实不管你是哪个版本,创建规则都是一样的,都要点New Project
然后就进入创建项目的配置流程了
我会在视频教程里具体的教会大家如何快速的配置这里的jdk
在配置jdk的地方,可以直接点Download JDK
然后我们去下载最新的jdk18即可
然后耐心等待下载就行
当然了,如果你这里下载失败,或者下载的特别慢,那你可以先去看第3章的Jdk安装。
我们这创建的是一个最简单的Java项目, 所以结构比较简单。
这里最重要的就是一个src,其他的都不重要,我视频里也有具体的每个目录的简介。
其实利用idea创建一个Java类很简单,只需要如下图所示。
然后取一个类名Demo,注意类名的首字母要大写。
创建好的一个空白的类如下
我们Java类里要想运行,需要有一个main方法,如下图
我们所有的方法要想执行,都要写到main方法里调用,才可以执行
我们用System.out来输出打印
可以看到代码里需要输出的结构都已经打印到控制台了。
3-1,jdk安装包的下载今天来教大家如何安装Java开发环境jdk,我们这里以jdk8为例。
目前有3种方式
-
1,Java官网下载(可能比较慢)
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
因为Java官网是国外的,有些地方的同学可能下载有点慢。 -
2,直接百度搜索jdk8安装包,如下图
缺点就是网上东西太多太乱,不一定能找到合适的。 -
3,石头哥在网盘里帮大家准备好了,对应的安装包
对应的mac电脑,window电脑的32位和64位的安装包都有。如果自己实在找不到jdk安装包,可以来找石头哥拿米来换。
-
1,双击安装包
-
2,点击下一步
-
3,设置安装目录,保持默认即可,然后点击下一步。
这里的安装路径要记牢,后面会用的到。
-
4,然后等待安装
-
5,安装完成,点击确定
-
6,接着点击下一步
-
7,接着等待进度
-
8,安装完成
其实我们直接在idea里学习Java了,所以配置全局环境变量就不那么重要了,这一节可以忽略,后面如果你需要用的到配置,再回来学习这一节即可。
- 1,这里点击搜索框,然后输入cmd打开命令提示符
- 2,命令行输入javac如果提示下面,就说明需要配置全局环境变量
- 3,拿到自己的jdk安装目录
- 4,打开控制面板
- 5,然后点击高级系统配置
- 6,点击高级,然后点击环境变量
- 7,新建JAVA_HOME,把我们上面第3步的jdk安装目录设置到下面
- 8,新建CLASSPATH,设置变量值,
.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar
注意前面的.表示当前目录。然后点击“确定”按钮。
- 9,新建PATH,设置变量值,%JAVA_HOME%bin;%JAVA_HOME%jrebin;
然后点击确定即可
验证是否配置成功
重新打开cmd命令行,输入javac,如果出现下面一大串提示就代表Java环境变量配置成功了。
在Java的编写过程中我们需要对一些程序进行注释,除了自己方便阅读,更为别人更好理解自己的程序,所以我们需要进行一些注释,可以是编程思路或者是程序的作用,总而言之就是方便自己他人更好的阅读。可以把注释理解为程序的说明书,如果拿你的代码给别人读,是不是有说明书了,别人才会更容易理解你的代码呢。
注释的作用通过注释提高Java源程序代码的可读性;使得Java程序条理清晰,易于区分代码行与注释行。另外通常在程序开头加入作者,时间,版本,要实现的功能等内容注释,方便后来的维护以及程序员的交流。通俗的来讲注释主要就是为了方便别人阅读你的代码,或者方便日后自己快速回忆起来自己的代码
注释的分类对于Java注释我们主要了解三种:
1, // 单行注释,注释一行
2,
@RestController
public class Hello {
@GetMapping("/hello")
public String hello() {
return "欢迎访问我的网站";
}
}
到这里我们的第一个java项目就成功创建了,接下来我们运行项目看下效果
七,运行项目这里如果出现 Started DemoApplication in 3.426 seconds (JVM running for 4.769)
就代表项目成功运行起来了。
八,访问项目我们这里在浏览器里输入下面网址
到这里我们就完整的实现了自己的第一个可以访问的java项目。
如果觉得图文不太好理解,请查看本专栏下一节。老师下一节会用录制视频来讲解本节课程。
本节课是《手把手带你零基础入门java开发》系列课程的一节,如果你想快速入门java开发,想开发一款属于自己的java项目,想学习springboot,想了解小程序,想了解全栈开发,想开发自己的网站,可以跟着石头哥来零基础入门。
第4节~数据库Mysql8的安装一,安装包的下载上一节给大家讲了mysql5.7的安装,有好多同学反应,在使用5.7安装包时,最终系统却安装成了mysql8.0。这是因为现在官方也提倡我们用最新版本的,所以今天我们就再来教下大家8.0的安装。在安装8.0之前,建议大家先把之前安装的5.7卸载了。
- 1,官网下载
https://dev.mysql.com/downloads/mysql/
下载这个187M的即可
点击 No thanks
如果觉得官网下载有点慢,可以去我网盘里下载 - 2,网盘下载,安装包我已经给大家放到网盘
有买我点餐系统或者Java基础入门课程的同学,都可以获取到这个网盘链接。 - 3,当然你也可以去百度下 mysql8安装包,去下载
注意:这里只要是8.0开头的就可以了,不管是8.0.11,8.0.18,8.0.19都可以的。
二,安装我这里以mysql8.0.11为例,如果你电脑上有安装过mysql,记得卸载干净。
- 1,双击安装
- 2,勾选协议,然后点击next
- 3,保持默认,直接点击next
- 4,点击next,然后点击yes
- 5,点击Execute
等待所有的安装成功
- 6,全部安装通过后,点击next
继续点击next
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XD0m26w9-1655949132461)(https://upload-images.jianshu.io/upload_images/6273713-bcb5c0ddf756fa8a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)] - 7,保持默认,点击next
- 8,保持默认端口号
- 9.保持默认,点击next
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0DeUJRit-1655949132463)(https://upload-images.jianshu.io/upload_images/6273713-b092253324671272.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)] - 10,设置密码,学习用的,尽量简单,设置好以后要牢牢记住,后面还会用到。
- 11,保持默认,点击next
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wm69yAAN-1655949132464)(https://upload-images.jianshu.io/upload_images/6273713-09c172da55ab3b1e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
- 12,点击Execute,等待校验
校验通过,点击Finish
- 13,点击next
- 14,点击Finish
点击next
- 15,验证密码,默认的用户名是root
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iQ7Jgnq5-1655949132468)(https://upload-images.jianshu.io/upload_images/6273713-f07137efc8195563.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
验证通过,点击next
- 16,点击Execute
成功后点击Finish
- 17,点击next
- 18,点击Finish
到这里就安装成功了,步骤有点多,可能不同电脑上会有出入,但是大体都是一样的。
两种方式,建议用第一种方式即可。如果第一种不行,再用第二种。
- 1,mysql自带客户端。
输入密码,成功进入
- 2,用cmd命令行
但是这里提示mysql不是内部或外部命令,所以我们接下来要配置mysql全局环境变量。
- 1,进入高级设置
- 2,设置MYSQL_HOME
把你mysql的安装目录,如我的是下面这个
C:Program FilesMySQLMySQL Server 8.0bin
- 3,设置PATH
在PATH里添加 %MYSQL_HOME%
如果PATH 里已有内容,就把%MYSQL_HOME%追加进去
如果PATH里没有内容,就新建添加,如下图
- 4,打开cmd命令行输入mysql -V
如果能出现版本号,就代表环境变量配置完成。
五,登陆mysqlmysql -uroot -p123456
这里的root是mysql的用户名,123456是密码
一,新建一个Java项目上一节,我们讲了mysql5.7可视化操作,今天再来讲下mysql8的可视化操作,后面我们的课程,都用mysql8来讲,所以这一节很重要,一定要跟着老师一步步配置。
- 1,新建项目
如果你是第一次打开的话,应该是这样的
- 2,创建springboot项目
-
1,如下图所示,点击最右侧的DataBase,然后点击Data Source
然后选择mysql
-
2,配置数据库
如果出现下面错误时区错误,MySQL默认的时区是UTC时区,比北京时间晚8个小时。所以要修改mysql的时区。
解决:
找到mysql安装目录并进入bin文件夹,我的是安装在c盘
然后输入cmd,回车
输入:mysql -uroot -p123456进入mysql命令模式
然后输入
set global time_zone = ‘+8:00’;
再次连接成功
配置完后,点击下test,如果出现绿色对勾,即代表链接成功。然后点击ok
- 1,上面第二步链接成功后,我们这里就可以添加数据库,添加数据表了。
我们执行下面sql语句,创建一个test数据库
create database test default character set utf8 collate utf8_general_ci;
- 2,创建一个user表
同样的执行下面sql语句,来创建一个user表
use test;
create table user
(
id int null,
name varchar(20) null
);
创建好以后的user表,如下图。
- 3,添加数据
- 4,查询数据
到这里我们就可以成功的借助idea来可视化的操作mysql8了。后面我会讲解更多Java和小程序的知识,敬请关注。
第6节~springboot+freemarker+bootstrap快速实现管理后台我们做后台开发时,难免会要开发管理后台。如下面这样的管理后台,我们完全可以不用h5同学,自己快速开发管理web后台的。
所以接下来我会用几节来教大家如何快速实现管理后台。
本节知识点
- springboot2.2.2
- freemarker
- bootstrap4
- maven
所以本节就来教大家如何快速实现管理后台表格数据的展示与操作。
这节课是建立在你已经会创建springboot项目的基础上,如果你还不知道怎么创建一个springboot项目请异步到这里:https://edu.csdn.net/course/detail/23443
好了,下面就来讲解,如何使用springboot+freemarker+bootstrap快速实现管理后台表格数据的展示。
一,首先要在你的pom.xml 加入freemarker仓库二,在项目的templates目录下创建demo目录,然后创建list.ftl文件org.springframework.boot spring-boot-starter-freemarker
我们freemarker使用的是 .ftl结尾的模版文件
list.ftl完整代码如下
freemarker+bootstrap学习 <#--本地引入--> <#---->
| 标题 | 姓名 | 微信 | 操作 | |
|---|---|---|---|---|
| ${row.title} | ${row.name} | ${row.wechat} |
这里需要讲下,我们引入bootstrap有两种方式,大家学习阶段推荐用第一种方式。
- 1,直接引入网上资源(推荐)
- 2,把bootstrap下载到本地,然后再引入本地
三,我们页面写好了,接下来就是网页面里传数据了。
这里我们定义一个DemoController如下
package com.qcl.demo.controller;
import com.qcl.demo.bean.Demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@RestController
public class DemoController {
@GetMapping("/demoList")
public ModelAndView list(Map map) {
List demoList = new ArrayList<>(4);
demoList.add(new Demo(1, "标题1", "编程小石头1", "2501902696"));
demoList.add(new Demo(2, "标题2", "编程小石头2", "2501902696"));
demoList.add(new Demo(3, "标题3", "编程小石头3", "2501902696"));
demoList.add(new Demo(4, "标题4", "编程小石头4", "2501902696"));
map.put("demoList", demoList);
return new ModelAndView("demo/list", map);
}
}
这里我们先模拟4条数据,然后把数据传到我们的list.ftl页面,正常数据都应该是从数据库里取的,后面会做讲解。
这就是用freemarker模版的好处。可以直接在页面里使用我们的java数据。
| 标题 | 姓名 | 微信 | 操作 | |
|---|---|---|---|---|
| ${row.title} | ${row.name} | ${row.wechat} |
这样我们运行项目,然后进入web后台,就可以看到了,我们这里点击删除时,是可以拿到每行的id的,这样我们就可以根据id删除具体数据,然后再重新刷新下页面就可以了。后面会给大家讲解通过web后台操作数据库的。
到这里我们就实现了管理后台表格数据的展示与操作了,是不是很简单啊。
我会把10小时实战入门java系列课程录制成视频,如果你看文章不能很好的理解,可以去看下视频:https://edu.csdn.net/course/detail/23443
有任何关于编程的问题都可以加我微信2501902696(备注编程开发)
编程小石头,码农一枚,非著名全栈开发人员。分享自己的一些经验,学习心得,希望后来人少走弯路,少填坑。
第7节~springboot+freemarker+bootstrap快速实现分页功能本节是建立在上节的基础上,上一节给大家讲了管理后台表格如何展示数据,但是当我们的数据比较多的时候我们就需要做分页处理了。这一节给大家讲解如何实现表格数据的分页显示。
准备工作
- 1,项目要引入freemarker和bootstrap,如果不知道怎么引入的,请查看
《10小时入门java开发03 springboot+freemarker+bootstrap快速实现管理后台》
还是老规矩,看效果图
可以看出我们实现了如下功能
- 1,表格数据的展示
- 2,分页效果的实现
- 3,上一页和下一页的实现
- 4,当前选中页码加重颜色
下面来看实现步骤
一,定义表格和分页组件简单说说代码
- head里面是引入bootstrap的样式库
- table定义表格来展示数据
- ul里定义分页
代码如下:
freemarker+bootstrap学习
| id | 姓名 | 微信 | 操作 | |
|---|---|---|---|---|
| ${productInfo.id} | ${productInfo.name} | ${productInfo.wechat} | <#if productInfo.id%2 == 0> 下架 <#else> 上架 #if> | |
-
<#if currentPage lte 1>
- 上一页 <#else>
- 上一页 #if> <#list 1..totalPage as index> <#if currentPage == index>
- ${index} <#else>
- ${index} #if> #list> <#if currentPage gte totalPage>
- 下一页 <#else>
- 下一页 #if>
同样这里的数据我们先用模拟数据,后面会用数据库里的数据。
看下面代码可以看出来,我们模拟了6条数据,然后每页显示2条数据。
package com.qcl.demo.controller;
import com.qcl.demo.bean.Demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@RestController
public class DemoController {
@GetMapping("/pageList")
public ModelAndView list(@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "size", defaultValue = "2") Integer size,
Map map) {
List demoList = new ArrayList<>(4);
demoList.add(new Demo(1, "标题1", "编程小石头1", "2501902696"));
demoList.add(new Demo(2, "标题2", "编程小石头2", "2501902696"));
demoList.add(new Demo(3, "标题3", "编程小石头3", "2501902696"));
demoList.add(new Demo(4, "标题4", "编程小石头4", "2501902696"));
demoList.add(new Demo(5, "标题5", "编程小石头4", "2501902696"));
demoList.add(new Demo(6, "标题6", "编程小石头4", "2501902696"));
demoList.add(new Demo(7, "标题7", "编程小石头7", "2501902696"));
int start = (page - 1) * 2;
int end = start + size;
List subList = demoList.subList(start, end);
int totalPage = (int) Math.ceil(demoList.size() / size);
map.put("productInfoPage", subList);
map.put("totalPage", totalPage);
map.put("currentPage", page);
map.put("size", size);
return new ModelAndView("demo/list", map);
}
}
三,启动springboot查看效果。
注意每一页地址栏的url
可以看出,我们第一次访问时,默认显示第一页,url里没有page和size字段。
访问第2页和第3页时,url里就有了page和size。page是显示那一页,size是每页显示多少条数据。
到这里我们就实现的管理后台的分页效果。
我会把10小时实战入门java系列课程录制成视频,如果你看文章不能很好的理解,可以去看下视频:https://edu.csdn.net/course/detail/23443
有任何关于编程的问题都可以加我微信2501902696(备注编程开发)
编程小石头,码农一枚,非著名全栈开发人员。分享自己的一些经验,学习心得,希望后来人少走弯路,少填坑。



