自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux找回密码

Linux找回密码1.开启的时候要尽快点击键盘上下键,选中上面一个,然后输入 e2.然后点击键盘上下键,找到linux16开头这一行,在行的最后输入:init=/bin/sh3.接着,输入完成后,直接按快捷键:Ctrl+x 进入单用户模式4.接着,在光标闪烁的位置中输入:mount -0 remount,rw /(注意:各个单词之间有空格),完成后按键盘回车键(Enter)5.在新的一行最后面输入:passwd,完成后按键盘的回车键(Enter)。输入你熟悉的密码不然又会忘记,然后再次确认

2022-05-23 22:42:11 845

原创 JUC高并发编程

JUC高并发编程线程和进程的概念进程和线程进程:是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是操作系统进行资源分配和调度的一个独立单位;线程:是进程的一个实体,是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位。线程的划分尺度小于进程,这使得多线程程序的并发性高;进程在执行时通常拥有独立的内存单元,而线程之间可以共享内存。线程的状态NEW(新建)RUNNABLE(准备就绪)BLOCKED(阻塞)WAITING(不见不散)TIMED_WAITING(过时不候)

2022-04-26 16:45:04 418

原创 java集合

集合集合介绍集合集合的理解和好处可以动态保存任意多个对象,使用比较方便!提供了一系列方便的操作对象的方法:add、remove、set、get等使用集合添加、删除新元素的示意代码简洁了集合体系图单列集合:保存单个数据ArrayList arrayList = new ArrayList();arrayList.add("array");arrayList.add("list");双列集合(存放的是k-v键值对)HashMap hashMap = new HashMap()

2022-04-21 15:30:13 1008

原创 java基础

Java基础笔记注释、标识符、关键字数据类型类型转换变量、常量注释平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。注释并不会被执行,是给我们写代码的人看的书写注释是一个非常好的习惯平时写代码一定要注意规范。public class HelloWorld { public static void main(String [] args){ //这是单行注释 //输出hello,

2022-04-17 09:19:34 1038

原创 TCP协议与三次握手四次挥手详解

TCP协议与三次握手四次挥手详解我们知道,TCP/IP协议族的传输层协议主要包括TCP和UDP(User Datagram Protocol,用户数据报协议)。TCP是面向连接的可靠的传输层协议,它支持在不可靠网络上的实现面向连接的可靠的数据传输。IP(网际层) 协议是一种不可靠、无连接的数据报传送服务的协议!TCP协议的特点1、三次握手建立连接:确保连接建立的可靠性。2、端口号:通过端口号标识上层协议和服务,实现了网络通道的多路复用。3、完整性检验:通过对协议和载荷数据计算校验和,保证了接收方能

2022-04-09 09:12:16 620 1

原创 整合ssm框架

整合ssm框架首先查看我们的环境:IDEAMySQL 8.0.28tomcat 9Maven 3.6.1这里我们整合的是一个书籍的增删改查通过ssm框架数据库环境一、创建一个存放书籍数据的数据库表:ssmbuild

2022-03-25 23:23:44 1106

原创 自动装配Bean

Spring会在上下文中自动寻找,并自动给bean装配属性!在Spring中有三种装配的方式:在xml中显式的配置;在java中显式配置;隐式的自动装配bean测试:环境搭建:创建项目,一个人拥有两个宠物!然后通过普通的程序来实现:<bean id="cat" class="com.like.pojo.Cat"/><bean id="dog" class="com.like.pojo.Dog"/><bean id="people" class="com.

2022-03-19 17:49:15 145

原创 springDI依赖注入

1、构造器注入请参考前面一篇博客IOC创建对象的方式及spring配置2、set方式注入(重点)依赖注入:Set注入依赖:bean对象的创建依赖于容器!注入:bean对象中的所有属性,由容器来注入!环境搭建1、复杂类型:public class Address { //引用类型 private String address; public String getAddress() { return address; } publi.

2022-03-19 14:39:23 67

原创 网络编程IP

计算机网络:计算机网络是指将地理位置不同的计算机及其外部部件,通过通信线路连接起来,在网络编程协议下,实现不同计算机之间的信息共享以及信息交流的计算机系统。IP地址: inetAddress:唯一定义一台网络上计算机:127.0.0.1 本机IP地址 localhost:唯一定位一台网络上的计算机127.0.0.1 (ipv4 / ipv6)ipv4 127.0.0.1 4个字节组成。每个字节长度0~255ipv6 fe80::f0e0:7383:ad8e:f32f%3 1

2022-03-16 18:28:35 1242

原创 使用注解开发-mybatis

面向接口编程1、之前学过面向对象编程,也学习过接口,但在真正的开发中,很多时候会选择面向接口编程。2、根本原因:解耦,可拓展,提高复用,分层开发中,上层不用管具体的实现,大家都遵守共同的标准,使得开发变得容易,规范性更好3、在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了4、而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是

2022-03-16 17:37:19 497

原创 解决mabatis中属性名和字段名不一致的问题及日志了解

1、解决属性名和字段名不一致的问题问题:数据库中的字段新建一个项目,拷贝之前的,测试实体类字段不一致的情况public class User { private int id; private String name; private String password;}然后测试:发现密码为null;解决方法:起别名,这是一种暴力的办法!不建议使用!<select id="getUserById" parameterType="int" resultType

2022-03-15 22:02:18 155

原创 mybatis中的配置解析

核心配置文件mybatis-config.xmlMyBatis的配置文件包含了会深深影响MyBatis行为的设置和属性信息。configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transactionManager(事务管理器)dataSource

2022-03-15 16:15:58 107

原创 第一个mybatis程序

什么是 MyBatis?MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。如何获得Mybatis?maven 仓库:<!--mybatis驱动--><dependency>

2022-03-15 15:28:28 1205

原创 SMBMS(超市管理系统)

首先数据库建表:项目如何搭建?我使用的是maven,导入相应的jar包,和依赖<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</version></dependency><dependency> <groupId&.

2022-03-13 10:38:17 2259 5

原创 JDBC事务

事务要么都成功,要么都失败!ACID原则:保证数据的安全。Junit单元测试依赖<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version></dependency>@Test注解只有在方法上有效,只要加了这个注解的方法,就可以直接运行!@Testpubl

2022-03-10 19:31:52 72

原创 JDBC复习

什么是JDBC : Java连接数据库!需要jar包的支持:mysql-conneter-java (必须导入)编写MySQL表CREATE TABLE users( id INT PRIMARY KEY, `name` VARCHAR(40), `password` VARCHAR(40), email VARCHAR(60), birthday DATE);INSERT INTO users(id,`name`,`password`,email

2022-03-10 15:39:22 80

原创 Filter实现权限拦截

要求:用户登录之后才能进入主页,用户注销后就不能进入主页了!首先我们写一个登录的页面<h1>登录</h1><form action="/servlet/login" method="post"> <input type="text" name="username"> <input type="submit"></form>然后登录的servlet,登录成功或者登录失败public class LoginSe

2022-03-10 09:54:04 154

原创 Filter过滤器

Filter:过滤器 ,用来过滤网站的数据;处理中文乱码登录验证比如用来过滤网上骂人的话!就会变成****filter开发步骤:1、导包(导包不要导错了)2、编写过滤器代码实现Filter接口,重写对应的方法即可package com.filter;import javax.servlet.*;import java.io.IOException;public class CharacterEncodingFilter implements Filter { //初始

2022-03-09 22:11:38 93

原创 JSP-JSTL标签

JSP标签,JSTL标签,EL表达式JSTL标签库和EL表达式的依赖<dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>javax.servlet.jsp.jstl-api</artifactId> <version>1.2.2</version></dependency> <!-- https://mv

2022-03-09 12:54:21 185

原创 JSP内置对象及作用域

9大内置对象PageContext 存东西Request 存东西ResponseSession 存东西Application (SerlvetContext) 存东西config (SerlvetConfig)outpage ,不用了解exception代码实现作用域区别:pageContextDemo01.jsp<head> <title>Title</title></head><body><%

2022-03-08 15:26:15 240

原创 JSP基础语法和指令

任何语言都有自己的语法,JAVA中有,。 JSP 作为java技术的一种应用,它拥有一些自己扩充的语法,Java所有语法都支持!JSP表达式 <%--JSP表达式 作用:用来将程序的输出,输出到客户端 <%= 变量或者表达式%> --%> <%= new java.util.Date()%>JSP脚本片段<%--jsp脚本片段--%><% int sum = 0; for (int i = 1; i <=100 ; i++)

2022-03-07 22:09:19 189

原创 session

什么是Session:服务器会给每一个用户(浏览器)创建一个Session对象;一个Session独占一个浏览器,只要浏览器没有关闭,这个session就存在;用户登录之后,整个网站都可以访问,例如哔哩哔哩,登录以后来可以访问后台;---->保存用户的信息,保存购物车的信息…Session和Cookie的区别:Cookie是把用户的数据写给用户的浏览器,浏览器保存(可以保存多个)Session把用户的数据写到用户独占的session中,服务器端保存,(保存重要的信息,减少服务器的资源

2022-03-07 12:04:43 95

原创 Cookie讲解

会话:用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程称之为会话。有状态会话:一个同学来了过教室,下次再来教室,我们会知道这个同学,曾经来过,称之为有状态会话、一个网站,怎么证明你来过?客户端 服务器服务端给客户端一个信件,客户端下次访问服务端带上信件就可以了:cookie服务器登记你来过,下次你来的时候我来匹配你:seesion1、保存会话的两种技术cookie客户端技术 (响应,请求)session服务器技术,利用这个技术,可以

2022-03-07 10:07:20 322

原创 Request应用

HttpServletRequest代表客户端的请求,用户通过HTTP协议访问服务器,HTTP请求中的所有信息会被封装到HttpServletRequest,通过这个HttpServletRequest的方法,获得客户端的所有信息1、获取前端传递的参数public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletRespon

2022-03-06 20:40:05 96

原创 response重定向

一个web资源(B)收到客户端(A)请求后,他(B)会通知客户端去访问另外一个web资源©,这个过程叫重定向常见场景:用户登录面试题:请你聊聊重定向和转发的区别?相同点:页面都会实现跳转不同点请求转发的时候,url不会产生变化重定向的时候,url地址栏会发生变化用户登录:<html><body><h2>Hello World!</h2><form action="${pageContext.request.context.

2022-03-06 17:08:18 182

原创 HttpServletResponse实现下载文件

web服务器接收到客服端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象,代表响应的一个HttpServletResponse:如果要获取客服端请求过来的参数:找HttpServletRequest如果要给客服端响应一些信息:找HttpServletResponse下载文件:要获取下载文件的路径下载的文件名叫什么设置想办法让浏览器能过支持下载我们需要的东西获取下载文件的输入流创建缓冲区获取OutputStream对象将FileOutput

2022-03-06 11:56:28 1535

原创 ServletContext

ServletContextweb容器在启动的时候,他会为每个web程序都创建一个对应的ServletContext对象,他代表了当前的web应用;共享数据我在这个Servlet中保存的数据,可以在另外一个servlet中拿到;public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp)

2022-03-06 00:13:58 56

原创 Statement对象详解

jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。使用executeUpdate(String sql)方法完成数据添加操作,示例操作:(增)Statement st = conn.createStatement();String sql = "insert into user(...) values(....)";int num = st.executeUpdate(sql);if(num>0){ Sy

2022-01-23 02:20:22 568 1

原创 第一个JDBC程序

创建一个普通项目1.先在sqlyog创建一个表:jdbcstudyCREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general_ci;USE jdbcStudy;CREATE TABLE users( id INT PRIMARY KEY, NAME VARCHAR(40), PASSWORD VARCHAR(40), email VARCHAR(60), birthday DATE);INSER

2022-01-22 20:33:54 726

原创 MySQL数据备份

为什么要备份:保证重要的数据不丢失数据转移MySQL数据库备份的方式直接拷贝物理文件,即date目录下的东西在sqlyog这种可视化的工具中手动导出使用命令行导出mysqldump命令行使用#mysqldump -h 主机 -u 用户名 -p 密码 数据库 表名> 物理磁盘位置/文件名mysqldump -hlocalhost -uroot -p991123 school student >D:/a.sql#mysqldump -h 主机 -u 用户

2022-01-21 23:57:24 439

原创 数据库用户管理

SQL命令操作用户表:MySQL.user本质:对这张表进行增删改查-- 创建用户: CREATE USER 用户名 IDENTIFIED BY ‘密码’CREATE USER chongqing IDENTIFIED BY '991123'-- 修改密码(修改指定用户密码)SET PASSWORD FOR chongqing = PASSWORD('991123')-- 修改密码(修改当前用户密码)SET PASSWORD = PASSWORD('991123')-- 重命名.

2022-01-21 23:17:41 315

原创 索引介绍及索引分类

在一个表中,主键索引只能有一个,唯一索引可以有多个主键索引(PRIMARY KEY)- 唯一的标识,主键不可重复,只能有一个列作为主键唯一索引(UNIQUE KEY)- 避免重复的列出现,唯一索引可以重复,多个列都可以标识为唯一索引常规索引(KEY/INDEX)- 默认的,index,key关键字来设置全文索引(FULLTEXT)- 在特定的数据库引擎下才有- 快速定位数据基础语法-- 索引的使用-- 1、在创建表的时候可以给字段增加索引-- 2、创建完毕后,增加索引.

2022-01-20 23:43:31 759

原创 测试事务实现转账

执行事务-- mysql 是默认开启事务提交的SET autocommit = 0 -- 关闭SET autocommit = 0 -- 开启(默认的) -- 手动处理事务-- 事务开启START TRANSACTION -- 标记一个事务的开始,从这个之后的sql都在同一个事务内INSERT xxINSERT xx-- 提交:持久化(成功!)COMMIT-- 回滚:回到原来的样子(失败) ROLLBACK-- 事务结束 SET autocommit = 1 --.

2022-01-20 22:59:31 99

转载 事务的四个特性以及四个隔离级别

数据库中的事务有四大特性(ACID),分别是原子性、一致性、隔离性和持久性。针对隔离性,还有四个隔离级别,分别是串行化、可重复读、读已提交和读未提交。这四个隔离级别是针对并发事务中存在的三个问题,分别是脏读、不可重复读和幻读。事务的四大特性1. 原子性(Atomicity)事务包含的所有数据库操作要么全部成功,要么全部失败。2. 一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。一致性规定事务提

2022-01-19 14:03:42 200 2

原创 拓展之数据库级别的MD5加密

MD5算法因其普遍、稳定、快速的特点,仍广泛应用于普通数据的加密保护领域CREATE TABLE `testmd5`( `id` INT(4) NOT NULL, `name` VARCHAR(20) NOT NULL, `pwd` VARCHAR(50) NOT NULL, PRIMARY KEY(`id`))ENGINE=INNODB DEFAULT CHARSET=utf8-- 明文密码INSERT INTO testmd5 VALUES(1,'zhangsan','1234

2022-01-19 13:32:30 2516

原创 聚合函数及分组过滤

聚合函数函数名称描述COUNT()计数SUM()求和AVG平均值MAX最大值MIN最小值……-- ===================== 聚合函数 ===========================SELECT COUNT(`BornDate`) FROM student; -- count(字段),会忽略所有的null值SELECT COUNT(*) FROM student -- 不会忽略null值 本质:计算行数SEL

2022-01-19 00:06:45 104

原创 MySQL常用函数

-- ================== 常用函数 ============================-- 数学运算SELECT ABS(-8) -- 绝对值SELECT CEILING(9.3) -- 向上取整 10SELECT FLOOR(9.3) -- 向下取整 9SELECT RAND() -- 返回一个0~1之间的随机数SELECT SIGN(10) -- 判断一个数的符号,0就是0 负数返回-1,正数返回1-- 字符串SELECT CHAR_LENGTH('我曾经跨过山

2022-01-18 23:36:13 372

原创 子查询和嵌套查询

本质:在where语句中嵌套一个子查询语句题目:查询高等数学-2的所有考试结果(学号,考试编号,成绩)降序排序-- 查询高等数学-2的所有考试结果(学号,考试编号,成绩)降序排序SELECT `StudentNo`,r.`SubjectNo`,`StudentResult`FROM `result` AS rINNER JOIN `subject` AS subON r.`SubjectNo` = sub.`SubjectNo`WHERE `SubjectName`='高等数学-2'ORDE

2022-01-17 00:32:31 827

原创 分页和排序

排序排序:升序ASC,降序DESCORDER BY通过哪个字段排序,怎么排查询结果根据成绩降序排序-- 排序:升序ASC,降序DESC-- ORDER BY通过哪个字段排序,怎么排-- 查询结果根据成绩降序排序SELECT s.`StudentNo`,`StudentName`,`SubjectName`,`StudentResult`FROM `student` AS sINNER JOIN `result` AS rON s.`StudentNo` = r.`StudentNo`.

2022-01-16 23:02:17 514

原创 自连接及连表查询练习

自己的表和自己的表连接,核心:一张表拆分为两张一样的表首先建立一张表:CREATE TABLE `category` ( `categoryid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主题id', `pid` INT(10) NOT NULL COMMENT '父id', `categoryName` VARCHAR(50) NOT NULL COMMENT '主题名字', PRIMARY KEY (`categoryid`

2022-01-16 21:05:16 371

空空如也

空空如也

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

TA关注的人

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