自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 初识Maven

Maven是专门用于管理和构建Java项目的工具,它的主要功能有:提供了一套标准化的项目结构,所有IDE使用Maven构建的项目结构完全一样,所有IDE创建的Maven项目可以通用。提供了一套标准化的构建流程(编译,测试,打包,发布......)提供了一套依赖管理机制。其实就是管理你项目所依赖的第三方资源(jar包,插件...)1.下载jar包2.复制jar包到项目3.将jar包加入工作环境1.Maven使用标准的坐标配置来管理各种依赖2.只需要简单的配置就可以完成依赖管理。

2023-03-28 22:34:16 149

原创 数据库查询

存储数据的仓库,数据有组织的进行存储。英文:DateBase,简称 DB管理数据库的大型软件。DBMS结构化查询语言。操作关系型数据库的编程语言。定义操作所有关系型数据库的统一标准。

2023-03-13 22:32:59 287

原创 JavaWeb介绍

Web:全球广域网,也称为万维网(www),能够通过浏览器访问的网站=JavaWeb:是用Java技术来解决相关Web互联网领域的技术栈。3、JavaWeb程序:逻辑处理。2、数据库:存储和管理数据。什么是JavaWeb?

2023-03-08 10:01:15 191

原创 数据库连接池

数据库连接---执行完毕---释放连接--释放 十分浪费系统资源最小连接数: 10最大连接数:15 业务最高承载上限排队等待,等待超时:100ms编写连接池,实现一个接口 DateSource。

2023-03-07 22:39:17 139

原创 JDBC操作事务

要么都成功,要么都失败原子性:要么全部完成,要么都不完成一致性:总数不变隔离性:多个进程互不干扰持久性:一旦提交不可逆,持久化到数据库了隔离性的问题:脏读:一个事务读取了另一个没有提交的事务不可重复读:在同一个事务内,重复读取表中的数据,表数据发生了改变虚读(幻读):在一个事务内,读取到了别人插入的数据,导致前后读出来结果不一致。

2023-03-07 21:25:06 40

原创 PrepareStatement对象

PrepareStatement可以防止SQL注入。

2023-03-07 20:07:32 86

原创 SQL注入的问题

sql存在漏洞,会被攻击导致数据泄露,SQL会被拼接。

2023-03-07 17:24:29 58

原创 statement对象

Ijdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。Statement对象的executeUpdate方法,用于向数据库发送增、删、改的sql语句,executeUpdate执行完后,将会返回一个整数(即增删改语句导致了数据库几行数据发生了变化)。Statement.executeQuery方法用于向数据库发送查询语句,executeQuery方法返回代表查询结果的ResultSet对象。

2023-03-07 17:04:26 213

原创 规范数据库设计

(7)说说表(发表心情...id...content....create_time)(6)自定义表(系统信息,某个关键的字,或者一些主字段) key:value。(1)用户表(用户登录注销,用户的个人信息,写博客,创建分类)(2)创建分类:user-->cateblog。(5)评论:user-user-blog。(1)写博客:user-->blog。(2)分类表(文章分类,谁创建的)(3)关注:user-->user。(3)文章表(文章的信息)(5)友链表(友链信息)(2)概要设计:设计关系图E-R图。

2023-03-06 20:23:09 129

原创 索引(介绍、分类、原则)

在一个表中,主键索引只能有一个,唯一索引可以有多个(1)主键索引(PRIMARY KEY)唯一的标识,主键不可重复,只能有一个列作为主键(2)唯一索引(UNIQUE KEY)避免重复的列出现,唯一索引可以重复,多个列都可以标识位 唯一索引(3)常规索引(KEY/NDEX)默认的,index,key,关键字来设置(4)全文索引(FullText)在特定的数据库引擎下才有,MyISAM快速定位数据。

2023-03-05 17:09:32 395

原创 数据库(事务)

要么都成功,要么都失败1、SQL 执行 A 给 B 转账 A 1000 --->200 B 2002、SQL 执行 B 收到 A 的钱 A 800 —> B 400将一组SQL放在一个批次中去执行~事务原则:ACID原则 原子性,一致性,隔离性,持久性 (脏读,幻读....)

2023-03-03 15:41:24 44

原创 JavaSE总结

​JavaSE一、Java语言初识MarkDown语法,简单的DOS命令,计算机语言发展,Java的诞生1995年java三大版本:Java SE Java ME :AndroidJava EE2006年Java Hadoop(大数据)JDK :开发数据包 配置环境变量JRE:运行环境二、HelloWorld:public class Hello{ public static void main(String[]

2023-03-02 16:43:07 60

原创 MySQL函数(附:select小结)

MD5破解网站的原理,背后有一个字典,MD5加密后的值 加密的前值。select 去重 要查询的字段from表(注意:表和字段可以取别名)Having(过滤分组后的信息,条件和where是一样的,位置不同)Order By... (通过哪个字段排序)【升序/降序】xxx join要连接的表 on等值判断。Group By(通过哪个字段来分组)MD5不可逆,具体的值md5是一样的。where(具体的值,子查询语句)业务层面:查询:跨表,跨数据库。主要增强算法复杂度和不可逆性。

2023-02-28 20:46:15 122

原创 分页、排序和子查询

语法:limit (查询起始下标pageSIze)本质:在where语句中嵌套一个子查询语句。where(这个值是计算出来的)

2023-02-28 14:53:47 42

原创 联表查询知识

自己的表和自己的表连接,核心:一张表拆为两张一样的表即可。join(连接的表) on(判断的条件) 连接查询。操作:查询父类对应的子类关系。where 等值查询。

2023-02-24 21:36:08 51

原创 DQL查询数据

有的时候,列名字不是那么的见名知意。我们起别名 AS 字段名 as 别名 表名 as 别名。数据库中的表达式:文本,列,Null,函数,计算表达式,系统变量......作用:去除SELECT查询出来的结果中重复的数据,重复的数据只显示一条。搜索的条件由一个或多个表达式组成!(1)所有的查询操作都用它 Select。(3)数据库中最核心的语言,最重要的语句。(2)简单的查询,复杂的查询它都能做~作用:检索数据中 符合条件 的值。(4)使用频率最高的语句。数据库的列(表达式)

2023-02-23 21:19:01 39

原创 表和外键的知识

(3)sql关键字大小写不敏感,建议写小写。(1)` ` 字段名,使用这个包裹。(4)所有的符号全部用英文!(2)注释 -- /**/

2023-02-23 19:17:13 51

原创 创建数据库表

-目标:创建一个school数据库--创建学生表(列,宁段)使用sQL创建--学号int登录密码varchar(20)姓名,性别varchar(2),出生日期(datatime) ,家庭住址, email-- 注意点,使用英文(),表的名称和字段尽量使用``括起来-- AUTO_INCREMENT 自增-- 字符串使用单引号括起来!-- 所有的语句后面加 ,(英文的),最后一个不用加-- PRIMARY KEY 主键,一般一个表只有一个唯一的主键!

2023-02-22 22:49:19 150

原创 数据库基础知识

命令行连接!DDL:数据库定义语言DML:数据库操作语言DQL:数据库查询语言DCL:数据库控制语言操作数据库>操作数据库中的表>操作数据库中表的数据1.创建数据库2.删除数据库3.使用数据库4.查看数据库。

2023-02-22 20:39:23 36

原创 异常处理机制

3.如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。在多重catch块后面,可以加一个catch (Exception)来处理可能会被遗漏的异常;处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理;对于不确定的代码也可以加上 try-catch,处理潜在的异常;具体如何处理异常,要根据同的业务需求和异常类型去决定;在出现异常方法的调用者中捕获并处理异常。

2023-02-17 16:33:40 35

原创 异常机制知识

最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。(5)ClassNotFoundException(找不到类)等异常,这些异常是不检查异常,程序中可以选。Error和Exception的区别: Error通常是灾难性的致命的错误,是程序无法控制和处理的,当出。软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文:Exception,这些,例外情况,或者叫异常,怎么让我们写的程序做出合理的处理。

2023-02-17 13:49:14 41

原创 面向对象(内部类)

内部类就是在一个类的内部在定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就称。为内部类,而A类相对B类来说就是外部类了。

2023-02-17 13:25:52 31

原创 面向对象(接口)

接口就是规范,定义的是一组规则,体现了现实世界中“如果你是...则必须能..”的思想。了抽象能力的语言(比如c++、java、c#等),就是因为设计模式所研究的,实际上就是如何合理的。00的精髓,是对对象的抽象,最能体现这一点的就是接口。如果你是汽车,则必须能跑。如果你好人,则必须干掉坏人;声明类的关键字是class,声明接口的关键字是interface。接口的本质是契约,就像我们人间的法律一样。制定好后大家都遵守。抽象类:具体实现和规范(抽象方法)都有!普通类:只有具体实现。

2023-02-15 19:44:15 31

原创 面向对象(抽象类)

abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。

2023-02-15 16:31:13 66

原创 面向对象(多态)

一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类,有关系的类)即同一方法可以根据发送对象的不同而采用多种不同的行为方式。(类型转换)引用类型,判断一个对象是什么类型~注意:多态是方法的多态,属性没有多态性。(3)父类引用指向子类对象。(2)子类重写父类方法。

2023-02-15 13:31:42 38

原创 面向对象(继承)

继承关系的俩个类,一个为子类(派生类).一个为父类(基类)。继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。1.super调用父类的构造方法,必须在构造方法的第一个。2.super必须只能出现在子类的方法或者构造方法中!继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。子类和父类之间,从意义上讲应该具有"is a"的关系.super:只能在继承条件才能使用。super:代表父类对象的应用。super():父类的构造。this():本类的构造。

2023-02-14 20:56:47 30

原创 面向对象(封装)详解

高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。属性私有,get/set。我们程序设计要追求“

2023-02-14 16:05:48 31

原创 类与对象小结

必须使用new 关键字创造对象,构造器 Person yang = new Person();修饰符 属性类型 属性名 = 属性值!类是一个模板:抽象,对象是一个具体的实例。-对象的方法 yang,sleep()对象是通过引用来操作的:栈--->堆。-对象的属性 yang.name。引用类型:基本类型(8)数字:0 0.0。静态的属性 属性。动态的行为 方法。

2023-02-14 15:25:21 35

原创 面向对象设计

最后,才对某个分类下的细节进行面向过程的思索。使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用。Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为。类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物.类,是抽象的,是对对象的抽象。面向对象编程的本质就是:以类的方式组织代码,以对象的纽织(封装)数据。

2023-02-13 17:27:33 37

原创 稀疏数组;

(2)把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模。当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组。(1)记录数组一共有几行几列,有多少个不同值。

2022-11-08 20:02:43 43

原创 Arrays类、冒泡排序

Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意:是"不用”而不是"不能")由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。(4)查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。(3)比较数组:通过equals方法比较数组中元素值是否相等。(2)对数组排序:通过sort方法,按升序。

2022-11-08 18:39:55 118

原创 多维数组(二维数组)

多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。

2022-11-07 19:06:23 79

原创 数组的使用

For---Each循环。

2022-11-04 17:29:55 44

原创 数组的基础知识

本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。数组一旦被创建,它的大小就是不可以改变的。数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。数组中的元素可以是任何数据类型,包括基本类型和引用类型。数组的元素是通过索引访问的,数组索引从О开始。数组是相同类型数据的有序集合。

2022-11-04 17:03:28 56

原创 Java方法(递归)

利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。前阶段:当参数不等于1时,不停地调用自身,直到等于1时返回结果。递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。递归就是:A方法调用A方法!A方法调用B方法,我们很容易理解!递归体:什么时候需要调用自身方法。返回阶段:n*(n-1)。

2022-10-30 16:03:13 54

原创 方法的重载

方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。方法的返回类型可以相同也可以不相同。重载就是在一个类中,有相同的函数名称,但形参不同的函数。仅仅返回类型不同不足以成为方法的重载。

2022-10-29 17:14:19 31

原创 Java方法

参数列表是指方法的参数类型、顺序和参数的个数。设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。实参:调用方法时实际传给方法的数据。修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。方法包含一个方法头和一个方法体。方法名:是方法的实际名称。当方法返回一个值的时候,方法调用通常被当做一个值。如果方法返回值是void,方法调用一定是一条语句。方法体:方法体包含具体的语句,定义该方法的功能。

2022-10-29 11:34:48 38

原创 打印三角形

【代码】打印三角形。

2022-10-28 16:52:10 64

原创 For循环(九九乘法表等)

如果为false,循环终止,开始执行循环体后面的语句。执行一次循环后,更新循环控制变量(迭代因子控制循坏变量的增减)。虽然所有循环结构都可以用while或者do..while表示,但Java提供了另一种语句——for循环,使一些循环结构变得更加简单。for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环执行的次数是在执行前就确定的。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。练习2:用while或for循环输出0~1000之间能被5整除的数并且每行输出3个。

2022-10-26 17:32:17 717

原创 增强for循环(了解)

然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子---带标签的break和continue。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。break在任何循环语句的主体部分,均可用break控制循环的流程。,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。

2022-10-26 17:29:44 66

空空如也

空空如也

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

TA关注的人

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