自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL-表联结

表联结是一种查询机制,用来在select语句中关联表进行查询,称为联结。Where 和 Join注意:如果没有where条件,那么第一个表中的每一行数据都会与第二个表中的每一行数据进行匹配,不管逻辑是否匹配。这种结果为第一个表中的数据乘以第二个表中的数据,称为笛卡尔积。select subject_name,count(stu_id) as 考试人数 from subject as sub where subject.subject_id = assessment.subject_id gro

2021-03-23 00:23:47 197 1

原创 MyBatis

搭建MyBatis添加依赖包<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version></dependency><dependency> <groupId>mysql</groupId> <artifactI

2021-01-26 22:46:56 155

原创 Spring-MVC

核心组件DispatcherServlet:作为前端控制器,整个流程控制的中心,控制其它组件执行,统一调度,降低组件之间的耦合性,提高每个组件的扩展性。DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下:文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析;通过HandlerMapping,将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器、多个HandlerInte

2020-11-27 18:20:41 209

原创 Spring

Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。spring 特点spring的核心模块spring中的IOCIOC( Inverse of Control)控制反转。是降低对象之间的耦合关系的设计思想。DI(Depen

2020-11-21 15:49:34 215

原创 MangoDB

mongodb数据类型nullnull用于表示空值或不存在的字段。{"x" : null}布尔类型布尔型数据有true和false两个值。{"x" : true}数值类型在Mongo shell中,默认使用64位浮点型数据。因此,会有以下两种数值形式:{"x" : 2.32}//或{"x" : 2}对于整数类型,可以使用NumberInt()(位有符号整型)或NumberLong()(8位有符号整型)方法进行转换。示例如下:{"x" : NumberInt(2)} {"x" : Nu

2020-11-15 17:38:53 248

原创 Redis-分布式锁

1.系统是一个分布式系统2.共享资源(各个系统访问同一个资源,资源的载体可能是传统关系)

2020-11-13 16:59:44 66

原创 Redis-缓存

什么是缓存?缓存是在第一次加载某些可能会复用数据的时候,在加载数据的同时,将数据放到一个指定的地点做保存。再下次加载的时候,从这个指定地点去取数据。这里加缓存是有一个前提的,就是从这个地方取数据,比从数据源取数据要快的多。java狭义一些的缓存,主要是指三大类虚拟机缓存(ehcache,JBoss Cache)分布式缓存(redis,memcache)数据库缓存正常来说,速度由上到下依次减慢缓存雪崩产生原因当缓存失效且又没有从数据库得到新的数据时,大量用户直接向数据库索要数据,导致服务

2020-11-12 19:15:16 78

原创 JavaWeb-多表关系

一对多建立两表之间的属性关系数据表是通过外键列来维系两表关系。实体类是通过属性来维系两表关系。一对多,是以一方为主,所以我们在一方添加多方的集合作为一个属性。例如:年级和学生是一对多关系,那么在年级表中创建一个集合可以添加多方。Grade.javaprivate List<Student> studentList;public List<Student> getStudentList() {return studentList;}public void setStu

2020-10-29 16:11:04 285

原创 JavaWeb-文件上传和下载

1.导入smartupload.jar 包2.准备上传页面form表单的标签中需要添加enctype属性提交方式必须是post<form method="post" action="/upload" enctype="multipart/form-data">3.获取数据/保存文件@WebServlet(value="/upload")public class uploadServlet extends HttpServlet { @Override prot

2020-10-29 14:35:22 126

原创 JavaWeb-Ajax

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。Ajax所包含的技术Ajax并非是一种新技术,而是将原有技术结合1.使用CSS和XHTML来表示。2.使用DOM模型来交互和动态显示。3.使用XMLHttpRequest来和服务器进行异步通信。4.使用javascript来绑定和调用。

2020-10-27 17:23:46 79

原创 JavaWeb-监听器

什么是监听器?监听器(Listener)是一个监听某个域对象的状态变化的组件。事件对象:request、session、servletContext。注册监听器:将监听器与事件源绑定。响应行为:监听到事件源的状态变化所作出的行为。监听器分类?监听对象的创建与销毁:ServletRequestListener、HttpSessionListener、ServletContextListener监听对象内属性变化:ServletRequestAttributeListener、HttpSessio

2020-10-25 22:07:16 63

原创 JavaWeb-过滤器

什么是过滤器?过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理,通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理。过滤器语法格式创建一个类实现Filter接口public class MyFilter implements Filter{}重写接口中的方法public void destroy() { //销毁的方法}public void doFilter(ServletRequest req, ServletRe

2020-10-25 21:50:15 101

原创 JavaWeb-Cookie

什么是会话跟踪技术会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。保持对用户会话期间的数据管理。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份。Session通过在服务器端记录信息确定用户身份。什么是CookieCookie是客户端(一般指浏览器)请求服务器后,服务器发给客户端的一个辨认标识,保存在客户端,当客户端再次向服务器发送请求时,会携带着这个辨认标识,服务器就可以通过这个标识来识别客户端的身份或状态等。Cookie的作用:跟踪会

2020-10-24 19:57:24 152

原创 JavaWeb-JSP

什么是JSP?JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计。JSP就是在HTML页面中嵌入了java代码。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。*.html 静态页面(包含固定的页面内容)*.jsp 动态页面(页面数据可以动态更新,支持嵌套java代码和html代码)嵌套Java代码声明标签 <%!变量或者方法声明%>表达式标签 <%=

2020-10-23 00:52:58 228

原创 Java-JDBC

Java DataBase Connectivity Java数据库连接JDBC 是一套标准,是Java与个大数据库厂商共同制定的一套接口,这套接口由个大数据库厂商进行了实现。1. 导入Jar包2. 连接数据库流程public class Demo1 { public static void createTable() throws ClassNotFoundException, SQLException { //1.加载数据库驱动(可以省略,但是在JavaEE的Web项目中

2020-10-22 22:41:32 75

原创 JavaWeb-Servlet

Servlet(Servlet Applet),全程Java Servlet。是java编写的服务器端程序,主要功能是在交互式地浏览和修改数据,生成动态web内容。工作模式:客户端发送至服务器。服务器启动并调用Servlet,Servlet根据用户客户端生成响应内容并传给服务器。服务器响应返回客户端。配置映射关系<servlet><servlet-name>自定义名称</servlet-name><servlet-class>处理请求的类的

2020-10-22 16:55:05 242

原创 JDBC-连接池

连接池(DataSource)当我们需要使用连接时,可以不用创建连接。可以直接从连接池获取连接。当连接池中存在控线连接时,将会给程序分配控线连接使用。当连接池中不存在空闲连接,并且连接池未满时,创建新的连接给程序使用,并在程序使用完毕后缓存连接。当连接池中不存在空闲连接,并且连接池已满时,则排队等候空闲连接出现。无论是否使用连接池,都应该在操作完毕后释放连接(调用close())。从连接池中调用的连接,当调用close()方法。连接并不是被关闭,而是重新放回连接池,作为空闲连接等待使用。DB

2020-10-20 20:49:57 108

原创 JDBC-事务

通过命令行进行操作开启事务: start transaction;回滚 : rollback; --此次事务中所有的sql操作, 放弃.提交 : commit; --此次事务中所有的sql操作, 作为一个整体, 提交.通过Java进行操作在java中,对数据库的操作默认是自动提交的。如果想开启一个事务,需要将自动提交关闭。开启事务: conn.setAutoCommit(false);回滚事务: conn.rollback();提交事务: conn.commit();public stat

2020-10-20 18:03:15 85

原创 MySQL-SQL注入问题(预编译处理)

当服务器向数据发送访问请求,在sql语句中夹杂特殊字符,在与查询语句进行拼接时,导致sql语句产生了歧义。当用户登陆时,加入输入的帐号或密码并不存在,但是在帐号或密码中输入如下:a' or 'a'='a此时结果会显示为登陆成功。原查询语句:select name from users where username=‘帐号’ and password = ‘密码’拼接后select name from users where username=‘123’ and password = ‘a’

2020-10-19 22:47:35 804

原创 MySQL-慢查询 SQL优化

慢查询是什么?MySQL的慢查询全名为慢查询日志,是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阈值的语句。默认情况下MySQL数据库并不会启动慢查询日志,需要手动来设置参数。在调优时如果不需要,则不启动该参数,开启慢查询日志会带来一定的性能影响。如何配置慢查询?--查看慢查询的配置信息mysql>show variables like '%slow%';--查看慢查询的时间定义mysql>show varables like 'long_query_tim

2020-10-19 22:46:36 220

原创 MySQL-索引

索引(index)是帮助MySQL高效获取数据的数据结构。是基于B+树的数据结构实现的。主键索引根据主键建立索引,不允许重复,不允许空值;再创建表时,直接创建主键索引。或修改添加主键和自增。在删除主键索引时,如果主键是自增的,需要先取消自增再删除主键。--创建表时创建主键索引CREATE TABLE `user`( `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)ENGINE=InnoDB DEFAULT CHARSET = utf8mb4;

2020-10-19 22:46:16 98

原创 MySQL-视图

视图是虚拟表,与包含数据的表不同,它只包含使用时动态检索数据的查询。视图是用来查看存储数据的一种方法。视图的作用?重用SQL语句,简化复杂的SQL操作。使用表的组成部分而不是整个表。可以起到保护数据的作用。更改数据格式和表示。视图不能索引,也不能关联触发器或默认值。视图的语法--创建视图:mysql> create view v_users as select id,name,age from users where age >= 25 and age<= 35;-

2020-10-13 19:17:59 50

原创 MySQL-触发器

触发器(trigger)MySQL语句在需要被执行时通过触发器来执行某些语句。响应(增删改)而自动执行的一条或一组定义在begin 和 end之间的mySQL语句。触发器语法CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt说明:# trigger_name:触发器名称# trigger_time:触发时间,可取值:BEFORE或AFTER# trigger_

2020-10-13 19:00:23 123

原创 MySQL-存储过程

MySQL存储过程为了以后能够重复使用而保存的一条或多条MySQL语句的集合,类似于函数和方法一样。创建存储过程\d // 修改MySQL默认的语句结尾符 ; ,改为 // 。create procedure 创建语句BEGIN和END语句⽤来限定存储过程体-- 定义存储过程\d //create procedure p1()beginset @i=10;while @i<90 doinsert into users values(null,concat('user:',@i)

2020-10-13 18:44:55 102

原创 MySQL-事务

事务(Transaction)由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元。事务管理事物的ACID特性:Atomicity(原子性):原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。Consistency(一致性):从一个一致性到另一个一致性。Isolation(隔离性):多个事物在并发环境中,之间互相独立,互不影响。Durability(持久性):事务提交后,数据将会被持久保存。事务的隔离级别READ_UNCOMMITTED(读未提交):一

2020-10-13 17:17:39 58

原创 SQL-子查询和表连接

子查询(嵌套式查询)一条搜索语句他的过滤条件来源于另一个搜索语句的select结果 select cust_name,cust_contact from customers where cust_id in (select cust_id from orders where order_num IN (select order_num from orderitems

2020-10-12 15:44:47 314

原创 MySQL-表引擎

以前称为表处理器,他的功能是接受上层传达的指令,然后对表中的数据进行提取和写入操作。MySQL服务器把数据的存储和提取操作全部封装到存储引擎的模块里。InnoDB 和MyISAM存储引擎区别InnoDB具备外键支持功能的事务存储引擎MyISAM主要的非事务处理存储引擎1.事务支持MyISAM不支持事务,而InnoDB支持。2.存储结构MyISAM:每个MyISAM在磁盘上存储成三个文件.frm 文件存储表结构。.MYD 文件存储数据。.MYI 文件存储索引。InnoDB:主要分为两种

2020-10-12 15:24:22 88

原创 SQL-表操作

修改表结构1.添加字段语法:ALTER 表名 ADD 新字段名 VARCHAR(50) AFTER 字段;ALTER TABLE users ADD email VARCHAR(50) NOT NULL AFTER age;--在最前面添加一个字段ALTER TABLE users ADD aa int first;2.删除字段语法:ALTER TABLE 表名 DROP 字段名;3.修改字段语法:ALTER TABLE 表名 CHANGE | MODIFY 被修改的字段信息;C

2020-10-12 15:24:04 132

原创 MySQL-基础

SQL(structure query language)结构化查询语言SQL语言分为4个部分:DDL定义、DML操作、DQL查询、DCL控制。命令行查看数据库: show databases;创建数据库:create database 库名 default charset=utf8mb4;删除数据库: drop database 库名;打开数据库: use 库名;查勘表 :show tables;创建表:create tabke 表名(字段名1 类型 字段名2 类型)engine=inno

2020-10-09 14:09:56 126

原创 jQuery介绍与基本使用

jQuery 入口在使用jQuery前,需先导入jQuery文件。压缩版为佳。当脚本位于html内容前,需要为jQuery创建一个入口(window.οnlοad=function(){}同理),位于内容末尾则不用。入口有两种写法,一种为简洁入口,一种为标准入口。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport"

2020-10-07 19:53:28 549

原创 JavaScript-正则表达式

正则表达式匹配与搜索<!DOCTYPE html><html><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>JavaScript中的正则表达式</title></head><body> &lt

2020-10-06 16:50:55 218

原创 JavaScript-XML DOM

XML DOM节点的遍历XML DOM通过childNodes来获取所有子节点,此方法获取的节点包含空白文本节点。需要进行判断过滤。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title&gt

2020-10-05 22:25:11 122

原创 JavaScript-单击事件

单击事件<body> <h1 id="hid">单击事件</h1> <button onclick="fun()">开始</button> <ul id="uid"> <li>AAAAA</li> <li>BBBBB</li> <li>CCCCC</li> <li>

2020-10-03 20:38:03 500 1

原创 JavaScript

什么是JavaScript?JavaScript是一种客户端脚本语言(轻量级编程语言)JavaScript通常被直接嵌入HTML页面,有浏览器解释执行JavaScript是一种解释性语言(代码不进行预编译)弱类型和基于对象。JavaScript的三个核心:ECMAScript基本语法、DOM、BOM前端Web技术的组成:HTML、CSS、JavaScroptHTML是一种标记语言,又来结构化网页内容并赋予定义,例如定义段落、标题或嵌入图片、视频。CSS是一种样式规则语言,将样式应用于HTM

2020-09-27 17:50:06 80

原创 CSS

CSS样式层叠优先级当同一个HTML元素定义了多个样式时。所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字4拥有最高的优先权。浏览器缺省设置外部样式表内部样式表(位于标签内部)内联样式(在HTML元素内部)CSS语法p{属性:值;属性:值;}例:p{ color:red; text-align:center; }css注释 /* … */<!DOCTYPE html><html lang="en"><head> &l

2020-09-27 17:49:18 107 1

原创 Java-反射

反射中的构造方法通过private修饰的无参构造方法创建对象public class Demo1 { public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException { //1.加载类 Class&

2020-09-24 00:08:43 85

原创 Java-XML和JSON

XML解析解析本地XML文件示例public class Demo1 { public static void main(String[] args) throws IOException, DocumentException { //1.获取输入流 FileInputStream is = new FileInputStream("绝对路径"); //2. 创建XML读取对象 SAXReader sr = new SAXReader();

2020-09-21 14:54:15 117

原创 Java-多线程

进程是指内存中运行的引用程序,没个进程都有一个独立的内存空间。线程是进程中的一个执行路径,共享一个内存空间,线程之间可以自己切换,并发执行,一个进程最少有一个线程。线程实际上是在进程基础上的进一步的划分,一个进程启动以后,里面的若干执行路径又可以划分为若干个线程。线程调度分时调度所有县城轮流使用CPU的使用权,平均分配每个线程占用CPU的时间。抢占式调度优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性)java的使用为抢占式调度。多线程并

2020-09-18 19:09:02 91

原创 Java-IO

I:input O: outputFile文件遍历、添加或删除import java.io.File;import java.io.IOException;public class Demo1 { public static void main(String[] args) throws IOException { File e = new File("C:\\Users\\Administrator\\Desktop\\Test"); File[] f

2020-09-17 10:31:01 96

原创 Java-集合

常见的数据结构数据存储的常用结构有:栈、队列、数组、链表和二叉树栈: 又称堆栈(stack),是限定只能在表底插入和删除的线性表。把允许插入和删除的一段成为栈顶,另一端为栈底。先进后出这里两个名词需要注意:压栈:存元素。弹栈:取元素队列: queue简称队,队列是一种特殊的线性表,是运算受到限制的一种线性表,只允许在表的一端进行插入,而在另一端进行删除元素的线性表。先进先出数组类集Java对于数据结构成熟的实现集合和数组的区别数组的长度是固定的,集合的长度是可变的。数组中存储

2020-09-16 03:37:48 86

空空如也

空空如也

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

TA关注的人

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