Redis笔记花了大概两天完成,Java8内容的学习,比预期的要上了短一些,本来打算按照学习计划先进行Java开发框架的学习,但是发现面试的时候Redis考点会更多一点,所以将Redis部分的学习提前,预定大概10天完成(黑马Redis教程)
教程包括了:八种不同的数据结构,两个消息队列,四个相关的运维操作,Scrip脚本,事务操作
NoSQLSQL是关系型数据库,而NoSQL是非关系型数据库
与SQL的区别结构化SQL高度结构化,每个字段每个值都会有严格的要求,一般难以修改。而NoSQL是非结构化的,对于key没有严格要求,支持自定义,还可以键值类型,列类型,文档存储,Graph存储,相对SQL,结构便于修改
关联性SQL有外键的约束,数据是相关联的,NoSQL没有关联(程序员手动维护)
SQL查询只要是SQL都可以使用相同的查询语句查询,而NoSQL没有固定的语法格式
每一个类型的数据查询方式不同
事务SQL有事务满足ACID,而NoSQL只满足BASE
总结
Redis基本介绍Remote Dictionary Server 远程词典服务器,是一个基于内存的键值型NoSQ...
Java8笔记拖了一天,本来打算从昨天就开始Java8特性的学习。但是有门事多题难分少的编译原理实验课把自己搞得心烦,晚上就没有精力学习了。
第二天还要体测,38度的高温,就隔这室外干站着,等半天跑1000米,跑前本来想着4分30以内及格就好,压着脚步跑,结果才4分37,还贼累,险些没给自己跑死。
到了期中以后了,感觉时间也是慢慢的变得紧张了起来,还是尽量多学一会把,刚回宿舍躺了一小会,算是复活了,总而言之开始今天的学习吧
Java8为什么要学习Java8?
Java8是当今企业中开发最主流的稳定版本,这个版本中出现了很多的新特性,虽然考点不多,但是可以提升Java后端开发程序员的编程效率,值得学习
相关知识有Lambda表达式、Stream API、Optional
计划加上今天晚上,明天,后天,一共三天完成相关知识的学习
Lambda表达式Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码,使用它可以写出更为简洁灵活的代码,代码风格更加紧凑
代码示例我们用一串代码举例子
多线程接口Runnable,实现一个类,重写run方法,start调用
1...
JDBC笔记批处理基本介绍1.当需要成批插入或者更新记录的时候,可以使用Java批处理,这一机制允许多条语句一次性提交给数据库批量处理,通常情况下比单独提交更有效率
2.JDBC的批量处理语句包括了以下的方法
方法名称
说明
addBatch
添加需要批量处理的SQL语句或者参数
executeBatch
执行批量处理语句
clearBatch
清空批处理包的语句
3.JDBC连接MySQL时,如果要使用批处理,需要在url中添加参数
1?rewriteBatchedStatements=true
4.批处理往往与PreparedStatement一起搭配使用,可以及减少编译次数又减少运行次数,效率大大提升
传统的添加方式12345678910111213141516public class Test { @SuppressWarnings ({"all"}) public static void main(String[] args) throws Exception{ ...
JDBC笔记JDBCJDBC是JAVA程序操作数据库的一种技术,在绝大多数的框架中JDBC一般都被封装在了各式各样的框架之中,这些框架之后也会学习。但是掌握JDBC是如何连接数据库,操作数据库,返回数据库结果,使用数据库返回结果这也是一个后端开发者应该掌握的基础,掌握了之后对后续框架的理解也是一种帮助
Java对于各大数据库厂商提供了一个连接操作的统一接口,其中定义的方法包括了连接、curd、关闭连接等。而数据库工资负责实现这一些接口,方便Java的开发者利用数据库接口去创建对应数据库实例的创建,再通过动态绑定机制调用数据库实现的相关方法,以下是一个代码示例方便理解(仅仅是模拟,不代表实际开发)
Java数据库接口
12345public interface JdbcInterface { public Object getConnection(); public void crud(); public void close();}
数据库实现接口
1234567891011121314151617public class MysqlJdb...
GITMysql基础部分内容结束,本来打算直接进入JDBC的学习,但是一来我有点小累,学不动Java了,二来我的编译原理课程需要使用到Git,实习的公司也要求熟练运用Git,所以就先看看这一个部分的知识,整理笔记并实际运用,预计今天(15号)一个晚自习和明天把这一块知识拿下(熟练使用Git、Github、GitLab、Gitee)
之前的博客中我也介绍了一下Git大体是个什么玩意,但是使用的是VsCode链接到的Github,而我现在学Java改用IDEA了,又需要重新配置一下才可以方便使用。
找的课程也就4~5个小时,就当过一遍教程了,对不了解的代码分支,分支合并学习一下,以下是该课程涉及的一些知识点(代码推送、代码拉取、代码克隆、IDEA集成Github、分支合并)
重要概念版本控制版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统
其中最重要的就是可以记录文件修改历史,从而让用户能够查看历史版本,方便切换版本
对于个人而言或许不太需要版本控制,但是如果一旦上升到公司集体,为了方便安全的对于代码进行修改(对于多个修改进行正确的合并),版本控制的使用就异常重要
...
MySQL习题我们系统的学完了MySQL相关知识,我们现在来用例题巩固一下我们的知识
练习一1.显示所有部门的名称
1select deptno,dname from dept;
2.显示所有雇员名以及全年收入(12*薪水 + 奖金)取名为年收入
这里道题注意null+数字为空,需要使用判断语句处理
12select ename, (sal*12 + if(comm is null,0,comm))as'年收入' from emp;
3.显示工资超过2850雇员的姓名以及工资
1select ename,sal from emp where sal > 2850;
4.显示工资不再1500到2850之间雇员的姓名以及工资
1select ename,sal from emp where sal > 2850 and sal < 1500;
5.显示编号为7796的雇员名称以及所在部门编号
1select ename,deptno from emp where empno=7796;
6.显示部门在20,30中工资超过1500的雇员名...
MySQL自增长我们再插入记录的时候有的时候需要有的数据从1开始自动增长,我们这个时候就要运用到自增长
基本使用方式:在定义的时候设置auto_increment字段
1字段名称 整形 primary key auto_increment
插入记录的时候填入null
12345CREATE TABLE dept ( `deptno` INT primary key auto_increment,`dname` VARCHAR ( 30 ), `loc` VARCHAR ( 30 ) );
1insert into dept values(null, 'ddd', 'beijing');
如果你需要自增需要从10开始,你也可以修改auto_increment设置
1ALTER TABLE dept AUTO_INCREMENT = 10;
插入数据的时候子增值字段也可以不使用null,而插入一个具体的值
1insert into dept values(50, 'ddd', 'beijing')...
MySQLMySQL表查询在实际开发的过程中,我们需要用到的查询不只有前面的简单查询,我们还需要学习一些更为符合实际的查询方式,如日期查询,多表查询等
相关表格我们先来建立几个表格,填入响应数据
员工表emp12345678910CREATE TABLE emp ( `empno` INT, `ename` VARCHAR ( 30 ), `job` VARCHAR ( 20 ), `mgr` INT, `hiredate` DATE, `sal` DOUBLE, `comm` DOUBLE,`deptno` INT );
12345678INSERT INTO empVALUES ( 7396, 'SMITH', 'CLERK', 7902, '1990-12-17', 800.00, NULL, 20 ), ( 7499, 'ALLEN', 'SALESMAN', 7902, '1991-02-20', 1600.00, 300.00, 30 ), ( 7...
MySQL笔记修改表我们修改表可以通过图形化界面进行修改,这一般比较方便,但是有一些限制,例如需要批量修改,条件限制的情况,我们也需要学会通过指令来对于表进行操作
添加列12ALTER TABLE table_name ADD(column datatype [DEFAULT expr], column datatype [DEFAULT expr]...);
修改列12ALTER TABLE table_name MODIFY(column datatype [DEFAULT expr], column datatype [DEFAULT expr]...);
删除列1ALTER TABLE table_name DROP(column);
重命名表1RENAME TABLE `oldTable` TO `newTable`;
查看表结构1desc newtable;
12345678910111213+------------+-------------+------+-----+---------+-------+| Field | Type ...
MySQL 经过40天的Java学习,我系统性的学习了Java相关知识点,了解了各个知识点背后的源码逻辑,可以用Java语言实现各类算法,以及解决实际问题,独立的设计,编写相关项目。
而从今天开始我将开始数据库的学习,预计5天完成MySQL数据库基本操作的学习,之后运用JDBC完成一个实战项目
我在之前选修数据库课程的时候,只是停留在理论上,对于知识的理解也只是限于应付考试,为了更好的理解数据库以及更好的使用数据库,我决定再次回顾相关知识点,并且整理笔记
MySQL的基本使用关于MySQL的安装我就不过多赘述,因为之前也安装过了,详见各大网站上的安装使用教程照着安装即可
MySQL启动服务在我这里因为安装的时候设置为开机自动启用,所以不用执行该指令
1net start mysql
同样的如果需要停止服务
1net stop mysql
可以通过以下的指令查看数据库服务是否启用(root)
1sc query MySQL80
显示MySQL80在运行状态
12345678SERVICE_NAME: MySQL80 TYPE ...