#java学习之路——基础阶段二(第十篇)

zyz233 zyz233     2022-12-02     303

关键词:

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。

前言:此随笔主要是Java基础中的基础,相信大家对这方面肯定有着自己的理解和认识,具体详解可以参照万能的baidu,有的我就一笔带过,希望在我的学习之路上能够有大牛进行指导,也有更多的小伙伴共勉。

1.Junit单元测试

我们在编程的时候会写一些功能,但是总不可能就是说没写一个功能来进行测试就要对整个项目重新启动,这样第一效率不高,第二页不方便编译,在这里我们就可以进行单元测试Junit。

测试分为黑盒测试和白盒测试。

两者的区别就是黑盒测试是看不到中间测试的过程,主要注重于结果是否正确,而白盒测试,便是需要对代码进行编译来看是否编译内容出现错误,而这里的白盒测试就是我们Junit的单元测试,但是对于Junit单元测试的结果来说,并不一定是说结果是肯定正确的,这里的单元测试只是用来测试代码是否能够实现这个功能,是否编译局部出错,就好比要进行一个加法运算的功能,但是里面写的是减法语法,编译不会报错,说明是可以运算的,代码的操作没有问题,内容出错可以对代码进行修改从而达到想要的目的。如果说有期望 值,那么可以使用Assert.assertEquals进行传参对比,看是否能达到使用的功能。这里使用Junit单元测试,只需要在需要测试的代码没块前加@Junit注释,然后进行测试。而这里还要学到两个注释一个是@before 一个是@after是指在单元测试前后要执行的代码。而对于Junit需要导入依赖环境来使用Junit测试。

2.MySql

这里是后台的重中之重了,后台程序员必须要熟练掌握SQL语句对数据库的数据进行使用,从而在前端能够很好的运用数据库的内容进行展示。

什么是数据库呢?就是用来存储和管理数据的仓库。Database简称DB。

数据库的安装和卸载就不做赘述了,baidu有很多操作方式。这里需要了解数据库的启动就是启动和关闭数据库,还有进入数据库。

数据库的启动和关闭在cmd中services.msc服务直接启动或者是通过输入指令

启动数据库:net start mysql;

关闭数据库:net stop mysql;

数据库的登录:-u用户名 -p用户登录密码

数据库的退出:exit / quit

而SQL语句分为四种分别是DDL、DML、DQL、DCL

DDL用来操作数据库的,DML用来对表进行增和删,DQL用来对数据库表中内容进行查找,DCL是对数据库访问权限的修改。我们主要学的就是对数据库变着花样的进行查询。

DDL:操作数据库和表

数据库的创建:

CREAT database 数据库名称;

CREAT database if not exists 数据库名称;

CREAT databse 数据库名称 character set 字符集名;

数据库的查询:

SHOW database ;

SHOW CREAT database 数据库名称; 查询创建数据库的语句

数据库的修改:

alter database 数据库名称 character set 字符集;

数据库的删除:

drop database 数据库名称;

drop database if exists 数据库名称;

使用数据库:

SELECT database();

use 数据库名称;

表的创建:

Create table 表名(

  列名1 数据类型1;

  列名2 数据类型2;

  列名3 数据类型3;

);

数据类型: int ,double, date, datetime, timestamp, varchar。

表的复制:

create table 表名 liike 被复制的表名;

表的查询:

show tables;

desc 表名;查询表的结构

表的修改:

alter table 表名 rename to 新的表名;

alter table 表名 character set 字符集名称;

alter table 表名 add列名 数据类型;

alter table 表名 change 列名 新类别 新类型数据;

alter table 表名 modify 列名 新数据类型;修改列名称和列类型

alter table 表名 drop 列名;删除列

表的删除:

drop table 表名;

drop table if exists 表名;

DML:增删改表中的数据

添加数据。

insert into 表名(列名1,列名2,。。。列名n) values (值1,值2,值n);

删除数据:

delete from 表名 [where 条件];

如果不加条件,则删除表中的所有数据。

TRUNCATE TABLE 表名;先删除表,然后再创建一张一样的表;

修改数据:

update 表名 set 列名1 = 值1 , 列名2=值2 ,。。[where 条件]

DQL:查询表中的记录

select * from 表名;

select 字段列表 from 表明列表 where 条件列表 group by 分组字段 having 分组之后的条件 order by 顺序 limit 分页限定

基础查询

1.多个字段的查询 select 字段名1,字段名2.。。from 表名;

2.去除重复distinct

3.ifnull(表达式1,表达式2):null参与的运算,计算结果都为null,表达式1是哦按段那个字段是否为null,表达式2是将null 值替换的值

4.as起别名

条件查询

1.where子句后跟条件;

2.> < <= >= = <> BETWEEN...AND IN(集合) LIKE模糊查询 _:单个任意字符;%:多个任意字符; IS NULL ;and 或&&;or或||;not 或 !

 

判断是否为null 值不能用 where 列名 = NULL ;这样是错误的  只能用IS NULL;

1.排序查询

  order by子句 排序字段1 排序方式1,排序字段2 排序方式2;

如果有多个排序条件,那么只有之前的排序条件值相同时,再会执行之后的排序条件;

2.聚合函数

1.count 计算个数(一般会选择主键)

2.max 计算最大值

3.min 计算最小值

4.sum 计算和

5.avg 计算平均值 

注意:聚合函数的值不包括null值,可以选择不包含null值的列或者使用isnull 来进行判断使用

3.分组排序

group by 分组字段;

分组之后查询到字段:分组字段,聚合函数

where 和 having的区别

where是先进行限定不满足条件不参与分组。having是在分组之后进行限定,后面可以跟聚合函数。

4.分页查询

limit 开始的索引,每页显示的条数。

约束

1.主键约束 primary key    添加自增长auto_increment   删除自增长modify    删除主键不能用modify 需要用drop primary

2.外键约束foreign key 删除外键约束 drop foreign key 外键名称  添加外键 add constraint 外键名称 foreign key reference 主表名称 

3.非空约束not null 删除非空约束用modify

4.唯一约束unique 删除唯一约束drop index列名

 

级联操作

级联更新 on update cascade 

级联删除 on delete cascade

数据库的设计

分类:一对一 一对多 多对多 多对一

数据库设计的范式 

为了减少数据库的冗余从第一范式到第五范式 主键拆分  一般到第三范式

数据库的备份与还原

备份:MySQLdump -u用户名 -p 密码 数据库名称> 保存路劲

还原:登录数据库->创建数据库->使用数据库->执行文件。source 文件路径

#java学习之路——基础阶段二(第十三篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

#java学习之路——基础阶段二(第十二篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

#java学习之路——基础阶段(第十一篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

#java学习之路——基础阶段二(第二篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

#java学习之路——基础阶段二(第五篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

#java学习之路——基础阶段二(第四篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

#java学习之路——基础阶段二(第九篇)(代码片段)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

vue学习之路第十篇:简单计算器的实现(代码片段)

前面九篇讲解了vue的一些基础知识,正所谓:学以致用,今天我们将用前九篇的基础知识,来模拟实现计算器的简单功能,项目价值不高,纯粹是为了加深掌握所学知识。学前准备:需要掌握JavaScript的eval()函数,其主要是用来... 查看详情

#java学习之路——基础阶段(第一篇)

  我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主... 查看详情

#java学习之路——基础阶段(第七篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

javaweb自学之路

一、Java学习路线 第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架;(基础) 第二阶段:java界面编程,包括AWT,事件机制,SWING,(不常用)这个部分也可以跳过,用的时候再看都能来及; 第三阶... 查看详情

java基础第十篇之异常

1.1接口概念 类:具有相同属性和功能的事物集合 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”。 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口... 查看详情

求北京尚学堂java培训视频教程_全

尚学堂软件测试全套教程百度网盘免费资源在线学习   链接:https://pan.baidu.com/s/1yxgyOEFCgv2zQgyu21WiSw提取码:ppcx   尚学堂软件测试全套教程12第十二阶段:面试题与面试技巧11第十一阶段:App自动化测试10第十阶... 查看详情

flask第十篇after_requestbefore_request(代码片段)

Flask我们已经学习很多基础知识了,现在有一个问题我们现在有一个Flask程序其中有3个路由和视图函数,如下:fromflaskimportFlaskapp=Flask(__name__)#type:Flask@app.route("/login")deflogin():return"Login"@app.route("/index")defindex():return"Index"@app.r 查看详情

猿创征文|我的四个月java学习成长之路——从基础到框架再到项目

...简介: >📦个人主页:赵四司机>🏆学习方向:JAVA后端开发 >📣种一棵树最好的时间是十年前,其次是现在!>💖喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。目录一&#x... 查看详情

java入门学习之路

java是面向对象的编程,个人觉得记忆比较重要。第一阶段java基础部分unix开发环境熟练掌握开发中常用的操作系统linux的安装及使用:掌握文件系统、网络、用户管理方法:能熟练使用vi和vim进行文件编辑;能在unix环境下进行文... 查看详情

java,web程序设计要学些啥

...,触发器,CRM思想(高级)这个比较不好懂,有时间的可以学习;第七阶段:HTML语言学习,包括HTML标签,表单标签以及CSS,这是Web应用开发的基础;第八阶段:JavaScript脚本语言,包括javaScript语法和对象,Ajax基础;就这两个方面... 查看详情

第十篇面向对象的程序设计

第十篇面向对象的程序设计 一面向对象的程序设计的由来见概述:http://www.cnblogs.com/linhaifeng/articles/6428835.html二什么是面向对象的程序设计及为什么要有它面向过程的程序设计的核心是过程(流水线式思维),过程即解决问... 查看详情