自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 mysql事务隔离级别

mysql的事务四大特性ACID原子性:操作要么全部成功,要么全部失败一致性:事务开始和结束,数据库是完整的,比如转账隔离性:一个事务不能被其他事务打扰持久性:事务完成后,将数据持久化保存到数据库中,不会被回滚事务的实现原理隔离性:通过加锁(并发控制MVCC/LBCC),出现脏读、不可重复读、幻读问题原子性和持久性:通过redo log重做日志实现一致性:通过undo log ...

2019-12-04 15:36:35 135

原创 数据库的日志原理

数据库中有三个十分重要日志文件1.undo log 回滚日志2.redo log重做日志3.binary log 二进制日志undo log 回滚日志—>原理在存储系统中,redo日志可以应对那些已经执行成功的事务没有反映到磁盘时系统崩溃情形的数据恢复,但是,有时候会有另外一种情形,一个事务中,有多步操作,有部分操作已经成功,有部分操作失败,导致整个事务不能被完整执行,或者一...

2019-12-04 15:16:07 553

原创 vim编辑器

vim 观看代码会很方便编辑代码也会很方便命令vim/vi:可新建文件/进入查阅文件I:进入编辑模式如果安装了vim插件点击insert也可进入编辑模式取消编辑模式,点击insertw:保存q:退出:wq 保存并退出:q!强行退出shift+zz:相当于:wqyy:复制当前光标的一行nyy(n为数字–行数):复制光标所在行开始下面的n行dd:删除当前光标的那一行(注...

2019-12-04 15:01:15 151

原创 数据库表设计规范

数据库设计规范数据库规范有3个级别遵守优先级高危>强制>建议必须实现高危和强制的要求。库名【强制】库的名称必须控制在32个字符以内,相关模块的表名与表名之间尽量提现join的关系,如user表和user_login表。【强制】库的名称格式:业务系统名称_子系统名,同一模块使用的表名尽量使用统一前缀。【强制】一般分库名称命名格式是库通配名_编号,编号从0开始递增,比如w...

2019-12-04 00:25:46 301

原创 数据库的设计

数据库设计的六个阶段系统需求分析阶段:分析用户的需求,包括数据、功能和性能需求概念结构设计阶段:主要采用E-R模型进行设计,包括画E-R图逻辑结构设计阶段:通过将E-R模型转换成表,实现从E-R模型到关系模型的转换物理结构设计阶段:主要是为所设计的数据库选择合适的存储结构和存取路径(索引)数据库实施阶段:包括编程、测试和运行数据库运行与维护阶段:系统的运行与数据库的日常维护数据库结...

2019-12-04 00:23:44 922

原创 JDBC基础知识

JDBCJDBC:sun公司为了java统一和简化java连接数据库,定义的一套规范,使用JDBC更加方便操作数据库JDBC和驱动的关系接口(JDBC)和实现(驱动jar包)的关系:驱动实现了JDBCJDBC操作步骤1.注册驱动(导驱动jar)---导入驱动jar,加载驱动class.forName("Driver类全限定名")---避免驱动加载2次---全限定名路径“com.mys...

2019-08-31 22:29:02 101

原创 Stream流基础知识

Stream流:在java 8中,得益于lambda所带来的函数式编程,引入了一个全新的stream概念,用于解决已有集合类库既有的弊端stream流的概念:stream流其实类似于工厂的“生产流水线”stream流的特点:1.stream流是单向的,不能重复使用2.stream流是有延迟性的,每一个操作延迟方法之后会得到一个新的流,除了终结的方法3.stream流也是不能存储数据的...

2019-08-31 22:07:52 299

原创 MySQL基础多表查询、三范型(八)

多表查询多表查询:通过查询多张表来查询需要的数据多表查询的分类:交叉连接查询:查询到是2张表的笛卡尔积内连接查询:查询到2张表的交叉部分—显示内连接,隐式内连接外连接查询:左外连接查询,右外连接查询交叉连接查询:查询到的是2张表的笛卡尔积语法:SELECT 字段,字段,...FROM 表1,表2 ;笛卡尔积:多表查询时左表的每条数据和右表的每条数据组合—其实就是2张表的乘积...

2019-08-31 00:10:54 182

原创 MySQL基础约束(七)

数据库的约束创建表的语法:create table 表名(字段名 字段类型 约束,字段名 字段类型 约束..................)对表中的数据进行进一步的限制,保证数据的正确性。有效性和完整性主键 primary key---唯一,非空唯一 unique 非空 notnull默认值 default 外键 foreign key--约束多表情况1.主键特点:唯...

2019-08-31 00:02:32 167

原创 MySQL基础DCL(六)

DCL—data control language—数据控制语言创建用户create user ‘用户名‘@‘主机名’identified by ‘密码’授权用户grant 权限1,权限2.....on 数据库名.表名 to ‘用户名’@‘主机名’关键字说明:1. GRANT 授权关键字2. 授予用户的权限,如SELECT,INSERT,UPDATE等。如果要授予所的权限则使用A...

2019-08-29 13:56:28 89

原创 MySQL基础TCL(五)

事务安全TCL—transaction control language–事务控制语言事务的应用场景的说明:mysql语句要么全部成功,要么全部失败1.手动提交事务start transaction;开启事务commit;提交事务---同步数据到数据表rollback; 回滚事务---直接清空数据总结:如果事务中SQL语句没有问题,commit提交事务,会对数据库的数据进行改变...

2019-08-29 13:54:17 84

原创 MySQL基础DQL(四)

DQL语句—数据查询语言—data query languageselect选择where从条件中选择in 在....内between ...and 在....范围内like 模糊查询 用% —通配符1简单查询1.1.查询表所有数据使用表示所有列—一般不使用查询所有—*查询效率低一般会写所有的查询字段名SELECT * FROM 表名;1.2.查询指定列写出查询每列的名...

2019-08-29 13:34:42 102

原创 MySQL基础DML(三)

二、DML语句—数据操作语言—data manipulation languageinsert into增---插入数据show 查---显示update改-- 更新/修正delete (from) 删---从....上删除truncate删---被删节---缩短1.插入记录1.1 插入全部字段所有的字段名都写出来INSERT INTO 表名 (字段名1, 字段名2, 字段名...

2019-08-29 13:25:55 159

原创 MySQL基础DDL(二)

SQL的基础语法SQL语句的分类1.DDL(Data Definition Language)数据定义语言---definition 定义用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter等2.DML(Data Manipulation Language)数据操作语言----常用----manipulation操作用来对数据库中表的数据进行增删改。关键...

2019-08-29 13:18:43 120

原创 MySQL基础语法(一)

MySQL开源免费的数据库数据库:存储数据的仓库,其本质是一个文本系统,用来保存数据的,使用sql语句去对数据增删查改。优点:永久保存,通过SQL语句比较方便的操作数据库MySQL目录结构│-- bin:mysql相关的可执行文件*.exe │-- MySQLInstanceConfig.exe mysql的配置程序│-- data: mysql自带的数据库文件│-- inclu...

2019-08-29 13:09:34 106

原创 Java基础---常用函数式接口的使用

常用函数式接口的使用1.supplier—生产接口—获取一个值的时候使用java.util.function.Supplier接口仅包含一个无参的方法:T get()。用来获取一个泛型参数指定类型的对象数据。supplier接口的 使用 场景:’当需要获取一个数据的时候,就可以使用该接口例子:supplier接口的使用2.consumer—消费接口1.java.util.f...

2019-08-27 14:12:01 259

原创 Java基础---函数式编程

函数式编程函数式接口—注解functioninterface概述:有且仅有一个抽象方法的接口特点:java中的函数式编程体现就是lambda,所以函数式接口就是可以适用于lambda使用的接口简而言之:1.函数式接口可以使用lambd表达式来表示该接口的对象2.函数式接口可以使用@FunctionalInterface注解来标识该接口,如果不是函数式接口就不能使用@Functional...

2019-08-27 14:04:04 100

原创 网络编程入门知识

软件结构(C/S,B/S)C/S:客户端和服务器结构,例如:QQ,微信,百度网盘client 客户 server 服务端—pc —电脑客户端B/S:浏览器和服务器结构,例如:淘宝,京东browser 浏览器 server 服务端网络编程协议网络编程:就是在一定的协议下,实现两台计算机的通信的程序。无论是C/S结构还是B/S结构都需要进行网络编程也就是书写一段代码,实现两台计算机在...

2019-08-27 13:53:36 103

原创 Java基础---Lambda(函数式编程)

编程思想:面向过程:注重过程,必须清楚每一个步骤,按照步骤一步一步执行面向对象:注重对象,无须清楚每一个步骤,只需要找到可以完成该功能的对象,让该对象去完成即可—依赖的是对象函数式编程:不需要依赖对象,直接给解决方案即可(强调做什么,而不是以什么形式做)对比面向对象与函数式编程:面向对象:依赖对象函数式编程:无须依赖对象,直接给解决方案LambdaLambda表达式标准格式:(参...

2019-08-27 13:45:21 123

原创 SSM整合

SSM:Springmvc+Spring+mybatisSpringmvc+Spring+mybatis框架整合开发步骤:1.创建maven工程(web项目),导入相关的依赖—与ssm相关的依赖2.准备工作:创建pojo、建库建表dao:mybatis、数据库驱动、数据源(持久层)整合包:mybatis-springdao层的开发编写jdbc.properties 配置文件编写...

2019-08-26 15:27:29 71

原创 Spring Security框架(三)

spring-security之前的用户的账号、密码、权限都是在配置文件中写死了。那么从数据库中获取呢?从数据库查询用户信息如果我们要从数据库动态查询用户信息,就必须按照spring security框架的要求提供一个实现UserDetailsService接口的实现类,并按照框架的要求进行配置即可。框架会自动调用实现类中的方法并自动进行密码校验。实现步骤:创建一个类实现UserDe...

2019-08-25 15:00:43 84

原创 Spring Security(二)

spring-security配置匿名访问资源第一步:在项目中创建js、css目录并在两个目录下提供任意一些测试文件,再创建登录和注册页面第二步:在spring-security.xml文件中配置,指定哪些资源可以匿名访问<!--0.配置匿名访问--><security:http pattern="/js/**" security="none"></secu...

2019-08-25 14:23:13 130

原创 Spring Security框架(一)

Security框架SpringSecurity是Spring家族的一个安全框架, 简化我们开发里面的认证和授权过程SpringSecurity内部封装了Filter常见的安全框架Spring的 SpringSecurityApache的Shiro认证和授权认证:系统提供的用于识别用户身份的功能,通常提供用户名和密码进行登录其实就是在进行认证,认证的目的是让系统知道你是谁...

2019-08-25 14:09:53 111

原创 POI(Excel)的使用

Apache POI是用Java编写的免费开源的跨平台的Java工具,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能,其中使用最多的就是使用POI操作Excel文件。需要导入maven依赖:<dependency> <groupId>org.apache.poi</groupId> <arti...

2019-08-25 00:15:25 391

原创 Java基础---流程控制

流程控制的分类:编写程序的原则: 正确性 可读性 严谨性1.顺序结构顺序结构: 程序从上往下,一步一步依次执行顺序结构的流程图:2.选择结构选择结构: 按照条件选择一段代码来执行选择结构的区别: 1.单if结构只能判断一个条件 2.if...else结构可以判断2个条件 3.if...else if结构可以判断多个条件第一种选择结构: 单if结构格式: if(...

2019-08-23 23:44:35 175

原创 MySql存储过程

一、数据库存储过程(Stored Procedure)SQL语句是需要先编译后执行,每执行一次就需要编译一次。存储过程: 一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 外部程序可以直接调用数据库里面定义好的存储过程,另外数据库内部的触发器(trigger)、或者其他存储过程也可以调用它。存...

2019-08-23 21:54:46 699

原创 Quartz定时任务组件

Quartz是什么?Quartz是Job scheduling(作业调度)领域的一个开源项目,Quartz既可以单独使用也可以跟spring框架整合使用,在实际开发中一般会使用后者。使用Quartz可以开发一个或者多个定时任务,每个定时任务可以单独指定执行的时间,例如每隔1小时执行一次、每个月第一天上午10点执行一次、每个月最后一天下午5点执行一次等。需要导入的依赖:<dependen...

2019-08-23 17:09:49 632

原创 Java基础---类与对象

首先我们要了解编程思想:编程思想:面向过程:注重过程,当完成某个功能的时候,必须清楚每一个步骤,然后按照步骤一步一步执行面向对象:注重对象,当完成某个功能的时候,无须清楚每一个步骤,只需要找到可以完成该功能的对象,让该对象来完成即可 一句话:java是面向对象的语言,在java中万物皆对象1.类:概述:类是用来描述现实事物的,由属性和行为组成- 属性:就是该事物的状态信息。----...

2019-08-23 14:13:37 120

原创 Java基础---接口Interface

一、接口1.接口是什么呢?接口:就是一种公共规范标准,在java中接口就是用来封装方法的接口的特点:1.接口是一种引用数据类型2.接口中只能定义常量和方法(抽象方法,默认方法,静态方法,私有方法(jdk9))3.接口中不能定义成员变量和构造方法4.接口不能创建对象,只能通过其实现类来使用5.接口中,没有静态代码块2.定义接口的格式public interface 接口名称 {...

2019-08-23 14:03:14 110

原创 Java基础--数组

一、数组1.什么是数组呢?数组概述:数组其实也是一个容器,可以用来存储固定个数相同类型的数据数组中存储的数据叫做元素2.特点:1.数组是引用数据类型2.数组的长度是固定的,也就是说可以存储固定个数的数据3.数组中的元素的类型必须一致,也就是说数组中存储的多个数据的数据类型一致3.数组的定义:定义数组有2种方式:动态方式(指定数组长度)静态方法(指定数组元素)第一种:动态方式...

2019-08-23 13:52:00 115

原创 使用Mybatis Generator实现逆向工程

逆向工程:根据数据库来生成pojo、映射文件模板首先下载mybatis Generator插件(这是一个jar包)解压zip文件然后打开idea,导入解压后的jar包进入idea后 的目录结构-通过配置generatorConfig.xml—>设置逆向工程的表设置完,运行方法运行完后,生成逆向工程目录生成Mapper文件和Mapper.xml就是pojo、映射文件...

2019-08-22 09:35:56 157

原创 Java基础---面向对象三大特点

面向对象有三大特点: 封装,继承,多态封装.封装:其实就是对一些细节进行隐藏,对外界不可见java中封装的体现:1.方法其实就是一种封装2.private也是一种封装权限: private < 默认 < protected < publicprivate关键字:1. private是一个权限修饰符,代表最小权限。2. 可以修饰成员变量和成员方法。3. ...

2019-08-22 00:00:38 79

原创 Java基础---Javaweb

1.Web应用Web应用组成结构:标准的Javaweb应用目录结构WebApps |---静态资源:HTML,css,js |---WEB-INF 固定写法。此目录下的文件不能被外部(浏览器)直接访问 |---classes:自定义类编译后的生成的class文件(字节码文件)存放的路径 ...

2019-08-21 23:41:22 108

原创 Java基础---多线程(二)

线程的状态(6种)新建:线程刚被创建,但是并未启动。还没调用start方法。可运行:线程可以在java虚拟机中运行的状态,可能正在运行自己代码,也可能没有,这取决于操作系统处理器。---已经调用了start方法启动了线程,线程可能在执行任务,也可能没有执行任务。锁阻塞:当一个线程试图获取一个对象锁,而该对象锁被其他的线程持有,则该线程进入Blocked状态;当该线程持有锁时,该线程将变成...

2019-08-21 00:19:16 86

原创 Java基础---多线程(一)

一、多线程并行:指两个或多个事件在同一时刻发生—同时发生并发:指两个或多个事件在同一时间段内发生多线程并行:多条线程同时执行多线程并发:多条线程同时请求执行,但是cpu一次只能执行一个线程,所以只能随机交替执行,这个就是多线程并发线程:其实就是进程的最小可执行单元进程:其实就是应用程序可执行单元,exe文件结论:1.一个应用程序可以有多个进程,一个进程可以有多条线程2.注意:一个...

2019-08-21 00:07:36 339

原创 Java基础---IO(二)

IO流的核心代码流程步骤:1.创建输入流对象,封装源文件路径2.创建输出流对象,封装目的地文件路径3.定义变量来存储读取到数据4.满足条件,一直循环读取数据5.写出数据6.关闭流,释放资源一、缓冲流作用:提高读写的效率概述:缓冲流,也叫高效流,是对4个基本的FileXxx 流的增强,所以也是4个流,按照数据类型分类:字节缓冲流:字节缓冲输入流:BufferedInputStr...

2019-08-20 23:29:09 80

原创 Java基础---IO(一)

一、IO流:基本流IO概述I:intput 输入(读取read) 从其他存储设备 读取数据到 内存中O:output 输出(写出 write) 从内存 写出数据到 其他存储设备IO的分类按照流向分:输入流:从其他存储设备 读取数据到 内存中的流字节输入流:顶层父类InputStream—此抽象类是表示字节输入流的所有类的超类字符输入流:顶层父类Reader—用于读取字符流的抽...

2019-08-20 23:02:00 129

原创 Java基础---集合

集合:集合其实就是一个容器,可以用来存储多个数据数组:集合其实就是一个容器,可以用来存储多个数据集合和数组的区别:1.数组的长度是固定的,集合的长度是可变的2.数组中元素的类型是一致的,集合中元素的类型可以不一致3.数组中元素的类型可以是基本数据类型,也可以说是引用数据类型,集合中元素只能是引用数据类型集合:单列集合:Collection:单列集合的顶层接口,定义了所有单列集合通用...

2019-08-20 22:28:26 66

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除