自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 狂神SSM整合

环境:IDEAMySQL 5.7.19Tomcat 8/9Maven 3.6/3数据库环境创建一个存放书籍数据的数据库表CREATE DATABASE `ssmbuild`; USE `ssmbuild`; DROP TABLE IF EXISTS `books`; CREATE TABLE `books` ( `bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id', `bookName` VARCHAR(100)

2021-10-18 23:10:01 308

原创 面向对象——枚举(笔记)

文章目录枚举理解枚举的二种实现方式自定义类实现枚举enum 关键字实现枚举enum 关键字实现枚举注意事项enum 常 2 用方法说明enum 实现接口枚举理解枚举(enumeration, 简写 enum)枚举是一组常量的集合。可以这里理解:枚举属于一种特殊的类,里面只包含一组有限的特定的对象。先看一个需求要求创建季节(Season) 对象Season spring = new Season("春天", "温暖");Season winter = new Season("冬天", "寒

2021-10-05 16:56:30 183

原创 面向对象——内部类 --

文章目录内部类基本介绍基本语法快速入门内部类的分类局部内部类的使用匿名内部类的使用(重要!!!!!!!)匿名内部类的最佳实践成员内部类的使用静态内部类的使用内部类如果定义类在局部位置(方法中/代码块):(1) 局部内部类 (2) 匿名内部类定义在成员位置: (1) 成员内部类 (2) 静态内部类基本介绍基本语法快速入门public class test { public static void main(String[] args) {//外部其他类 }}class O

2021-10-05 16:17:09 141

原创 面向对象——抽象类和接口(笔记)

抽象类抽象类快速入门抽象类的介绍抽象类使用的注意事项和细节讨论public class test { public static void main(String[] args) { //抽象类,不能被实例化// new A();//报错 }}//抽象类不一定要包含abstract方法。也就是说,抽象类可以没有abstract方法//,还可以有实现的方法。abstract class A { public void hi(

2021-10-04 19:59:44 117

原创 Java常用API

System类Math类Object类equals 方法==和 equals 的对比 [面试题]public class test { public static void main(String[] args) { A a = new A(); A m = new A(); System.out.println(a==m); A b = a; A c = b; System.out.pri

2021-10-04 17:03:13 225

原创 面向对象基础——三大特征:封装、继承、多态、(抽象)(笔记)

访问修饰符基本介绍java 提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围):1)公开级别:用 public 修饰,对外公开2)受保护级别:用 protected 修饰,对子类和同一个包中的类公开3)默认级别:没有修饰符号,向同一个包的类公开.4)私有级别:用 private 修饰,只有类本身可以访问,不对外公开.封装封装的理解和好处封装的实现步骤 (三步)/*不能随便查看人的年龄等隐私,并对设置的年龄进行合理的验证。年龄合理就设置,否则给默认年龄

2021-10-03 20:04:59 439

原创 面向对象基础——this和super关键字(笔记)

this 关键字public class test { public static void main(String[] args) { Dog dog1 = new Dog("大壮", 3); System.out.println("dog1 的 hashcode=" + dog1.hashCode());//dog1 调用了 info()方法dog1.info(); System.out.println("============");

2021-10-03 19:48:33 75

原创 面向对象基础——构造方法/构造器(笔记)

1.构造器(或构造方法):Constructor构造器的作用:* 1.创建对象* 2.初始化对象的信息基本语法[修饰符] 方法名(形参列表){ 方法体;}2.使用说明:1)构造器的修饰符可以默认, 也可以是 public protected private2)构造器没有返回值3)方法名 和类名字必须一样4)参数列表 和 成员方法一样的规则5)构造器的调用, 由系统完成6)如果没显式的定义类的构造器的话,则系统默认提供一个空参的构造器7)一个类中定义

2021-10-03 19:25:49 70

原创 面向对象基础——可变参数(笔记)

基本概念java 允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法。就可以通过可变参数实现基本语法访问修饰符 返回类型 方法名(数据类型... 形参名) {}举例:计算n个数的和public class test { public static void main(String[] args) { HspMethod m = new HspMethod(); System.out.println(m.sum(1, 5, 100))

2021-10-03 19:07:52 89

原创 面向对象基础——方法(笔记)

成员方法(方法)基本介绍在某些情况下,我们要需要定义成员方法(简称方法)。比如人类:除了有一些属性外( 年龄,姓名…),我们人类还有一些行为比如:可以说话、跑步…,通过学习,还可以做算术题。这时就要用成员方法才能完成。 public static void main(String[] args) { // ——main方法 //方法使用 //1. 方法写好后,如果不去调用(使用),不会输出 //2. 先创建对象 ,然后调用方法即可 Person p1 = new Person

2021-10-03 18:28:45 94

原创 面向对象基础——类和对象(笔记)

类与对象的关系示意图类和对象的区别和联系1.类是抽象的,概念的,代表一类事物,比如人类,猫类…, 即它是数据类型.2.对象是具体的,实际的,代表一个具体事物, 即 是实例.3.类是对象的模板,对象是类的一个个体,对应一个实例对象在内存中存在形式(重要的)属性/成员变量/字段从概念或叫法上看: 成员变量 = 属性 = field(字段) (即 成员变量是用来表示属性的,授课中,统一叫 属性)属性是类的一个组成部分,一般是基本数据类型,也可是引用类型(对象,数组)。比如我们前面定义猫类

2021-10-03 16:28:26 358

原创 Java常用方法

Integer 类和Character 类的常用方法public static void main(String[] args) { System.out.println(Integer.MIN_VALUE); //返回最小值 System.out.println(Integer.MAX_VALUE);//返回最大值 System.out.println(Character.isDigit('a'));//判断是不是数字 System.out.print

2021-09-24 09:09:55 715

原创 JDBC基础

jdbc 的原理示意图JDBC 带来的好处JDBC APIJDBC 快速入门JDBC 程序编写步骤JDBC 第一个程序获取数据库连接 5 种方式方式 1方式2方式3方式4(推荐使用)方式5package myJDBC.jdbc.myjdbc;import com.mysql.jdbc.Driver;import org.junit.jupiter.api.Test;import java.io.FileInputStream;import java.

2021-09-22 23:55:55 68

原创 JDBC核心技术

第1章:JDBC概述1.1 数据的持久化持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。1.2 Java中的数据存储技术在Java中,数据库存取技术可分为如下几类:JDBC直接访问数据库JDO (Java .

2021-09-21 09:58:11 84

原创 mysql基础

##本单元目标一、为什么要学习数据库二、数据库的相关概念DBMS、DB、SQL三、数据库存储数据的特点四、初始MySQLMySQL产品的介绍MySQL产品的安装 ★MySQL服务的启动和停止 ★MySQL服务的登录和退出 ★MySQL的常见命令和语法规范五、DQL语言的学习 ★基础查询 ★条件查询 ★ 排序查询 ★ 常见函数 ★分组函数 ★分组查询 ★

2021-09-17 16:49:43 149

原创 流程控制结构

顺序、分支、循环一、分支结构1.if函数语法:if(条件,值1,值2)功能:实现双分支应用在begin end中或外面2.case结构情况1:类似于java中的switch语句,一般用于实现等值判断语法:case 变量|表达式|字段when 值1 then 语句1;when 值2 then 语句2;…else 语句n;end case情况2:类似于java中的多重if语句,一般用于实现区间判断casewhen 条件1 then 语句1;when 条件2 th.

2021-09-17 16:30:40 48

原创 mysql 函数

含义:一组预先编译好的SQL语句的集合,理解成批处理语句1、提高代码的重用性2、简化操作3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率区别:存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新函数:有且仅有1 个返回,适合做处理数据后返回一个结果一、创建语法CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型BEGIN 函数体END注意:1.参数列表 包含两部分:参数名 参数类型2.函数体:肯定会有retur.

2021-09-17 15:13:24 49

原创 存储过程和函数

存储过程和函数:类似于java中的方法好处:1、提高代码的重用性2、简化操作存储过程含义:一组预先编译好的SQL语句的集合,理解成批处理语句1、提高代码的重用性2、简化操作3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率一、创建语法CREATE PROCEDURE 存储过程名(参数列表)BEGIN 存储过程体(一组合法的SQL语句)END注意:1、参数列表包含三部分参数模式 参数名 参数类型举例:in stuname varchar(20).

2021-09-17 11:32:05 47

原创 mysql 变量

系统变量: 全局变量 会话变量自定义变量: 用户变量 局部变量一、系统变量说明:变量由系统定义,不是用户定义,属于服务器层面注意:全局变量需要添加global关键字,会话变量需要添加session关键字,如果不写,默认会话级别使用步骤:1、查看所有系统变量show global|【session】variables;2、查看满足条件的部分系统变量show global|【session】 variables like '%char%';3、查看指定的系统变量的

2021-09-17 11:00:43 48

原创 mysql 视图

含义:虚拟表,和普通表一样使用mysql 5.1版本出现的新特性,是通过表动态生成的数据比如:舞蹈班和普通班级的对比 创建语法的关键字 是否实际占用物理空间 使用视图 create view 只是保存了sql逻辑 增删改查,只是一般不能增删改表 create table 保存了数据 增删改查#案例:查询姓张的学生名和专业名SELECT stuname,majornameFROM stuinfo sINNER JOIN major m ON s.`majorid`= m.`id`

2021-09-16 20:29:32 55

原创 事务控制语言TCL

Transaction Control Language 事务控制语言事务:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。案例:转账张三丰 1000郭襄 1000update 表 set 张三丰的余额=500 where name=‘张三丰’意外update 表 set 郭襄的余额=1500 where name=‘郭襄’事务的(A C I D)属性或特点:ACID原子性:一个事务不可再分割,要么都执行要么都不执行一致性:一个事务执行会使数

2021-09-16 17:37:30 67

原创 标识列 (自增长列)

标识列 又称为自增长列含义:可以不用手动的插入值,系统提供默认的序列值特点:1、标识列必须和主键搭配吗?不一定,但要求是一个key2、一个表可以有几个标识列?至多一个!3、标识列的类型只能是数值型4、标识列可以通过 SET auto_increment_increment=3;设置步长可以通过 手动插入值,设置起始值一、创建表时设置标识列DROP TABLE IF EXISTS tab_identity;CREATE TABLE tab_identity( id INT P..

2021-09-16 16:56:53 139

原创 mysql 常见约束

含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性分类:五大约束NOT NULL:非空,用于保证该字段的值不能为空比如姓名、学号等DEFAULT:默认,用于保证该字段有默认值比如性别PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空比如学号、员工编号等UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空比如座位号FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值在从表添加外键约束,用于引用主表.

2021-09-16 16:27:56 63

原创 sql 常见的数据类型

数值型: 整型 小数: 定点数 浮点数字符型: 较短的文本:char、varchar 较长的文本:text、blob(较长的二进制数据)日期型:一、整型无符号:0~255分类: 有符号:-128~127整数类型 tinyint、 smallint、mediumint、int/integer、bigint字节 1 2 3 4 8特点:① 如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned关键字② 如果插入的数值超出了整型的范

2021-09-15 19:57:59 4440

原创 DDL数据定义语言

库和表的管理 一、库的管理 创建、修改、删除 二、表的管理 创建、修改、删除创建: create修改: alter删除: drop一、库的管理1、库的创建语法: 提高容错性create database [if not exists]库名; #案例:创建库BooksCREATE DATABASE books;CREATE DATABASE IF NOT EXISTS books ;2、库的修改(现在不能修改,只能在服务

2021-09-15 17:29:40 37

原创 数据操纵语言DML 插改删

数据操作语言:插入:insert修改:update删除:delete一、插入语句方式一:经典的插入语法:insert into 表名(列名,...) values(值1,...);SELECT * FROM beauty;#1.插入的值的类型要与列的类型一致或兼容INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(13,'唐艺昕','女','1990-4-23','1898888888',N

2021-09-15 16:34:51 55

原创 进阶6:连接查询

含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询笛卡尔乘积现象:表1 有m行,表2有n行,结果=m*n行发生原因:没有有效的连接条件如何避免:添加有效的连接条件分类: 按年代分类: sql92标准:仅仅支持内连接 sql99标准【推荐】:支持内连接+外连接(左外和右外)+交叉连接 按功能分类: 内连接: 等值连接 非等值连接 自连接 外连接: 左外连接 右外连接 全外连接 交叉连接SELECT * FROM b

2021-09-14 20:18:24 32

原创 进阶5:分组查询

语法:select 查询列表from 表【where 筛选条件】group by 分组的字段【order by 排序的字段】;特点:1、和分组函数一同查询的字段必须是group by后出现的字段2、筛选分为两类:分组前筛选和分组后筛选 针对的表 位置 连接的关键字分组前筛选 原始表 group by前 where 分组后筛选 group by后的结果集 group by后 having①分组函数做条件肯定是放在having字句中②能用分组前筛选的,就优先考虑使用分组

2021-09-14 20:13:48 40

原创 分组函数

功能:用作统计使用,又称为聚合函数或统计函数或组函数分类:sum 求和、avg 平均值、max 最大值 、min 最小值 、count 计算个数特点:1、sum、avg一般用于处理数值型 max、min、count可以处理任何类型2、以上分组函数都忽略null值3、可以和distinct搭配实现去重的运算4、count函数的单独介绍一般使用count(*)用作统计行数5、和分组函数一同查询的字段要求是group by后的字段#1、简单 的使用SELECT SUM(sala

2021-09-14 20:11:09 47

原创 进阶4:常见函数

概念:类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名好处:1、隐藏了实现细节 2、提高代码的重用性调用:select 函数名(实参列表) 【from 表】;特点: ①叫什么(函数名) ②干什么(函数功能)分类: 1、单行函数 如 concat、length、ifnull等 2、分组函数功能:做统计使用,又称为统计函数、聚合函数、组函数常见函数: 一、单行函数 字符函数: length:获取字节个数(utf-8一个汉字代表3个字节,gbk为2个字节) con

2021-09-14 20:07:19 43

原创 进阶3:排序查询

语法:select 查询列表from 表名【where 筛选条件】order by 排序的字段或表达式;特点:1、asc代表的是升序,可以省略 desc代表的是降序2、order by子句可以支持 单个字段、别名、表达式、函数、多个字段3、order by子句在查询语句的最后面,除了limit子句#1、按单个字段排序SELECT * FROM employees ORDER BY salary DESC;#2、添加筛选条件再排序#案例:查询部门编号>=90

2021-09-14 20:04:32 29

原创 进阶2:条件查询

语法: select 查询列表 from 表名 where 筛选条件;分类: 一、按条件表达式筛选 简单条件运算符:> < = != <> >= <= <> 不等于 二、按逻辑表达式筛选 逻辑运算符: 作用:用于连接条件表达式 && || ! and or not &&和and:两个条件都为true,结果为true,反之为false ||或or: 只要有一个条件为true,结果

2021-09-14 20:03:03 32

原创 进阶1:基础查询

ctrl f12 格式化选中的部分语法:select 查询列表 from 表名;类似于:System.out.println(打印东西);特点:1、查询列表可以是:表中的字段、常量值、表达式、函数2、查询的结果是一个虚拟的表格USE myemployees;#0. 显示表departments的结构DESC departments;#1.查询表中的单个字段SELECT last_name FROM employees;#2.查询表中的多个字段SELECT last_name

2021-09-14 19:56:24 29

原创 进阶9:联合查询

union 联合 合并:将多条查询语句的结果合并成一个结果语法:查询语句1union查询语句2union...应用场景:要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致时特点:★1、要求多条查询语句的查询列数是一致的!2、要求多条查询语句的查询的每一列的类型和顺序最好一致3、union关键字默认去重,如果使用union all 可以包含重复项#引入的案例:查询部门编号>90或邮箱包含a的员工信息SELECT * FROM employees WHER

2021-09-14 19:53:59 45

原创 进阶8:分页查询 ★

应用场景:当要显示的数据,一页显示不全,需要分页提交sql请求语法: select 查询列表 from 表 【join type join 表2 on 连接条件 where 筛选条件 group by 分组字段 having 分组后的筛选 order by 排序的字段】 limit 【offset,】size; offset要显示条目的起始索引(起始索引从0开始) size 要显示的条目个数特点: ①limit语句放在查询语句的最后 ②公式 要显示的页数 page,每页的

2021-09-14 19:14:57 44

原创 进阶7:子查询

含义:出现在其他语句中的select语句,称为子查询或内查询外部的查询语句,称为主查询或外查询分类:按子查询出现的位置: select后面: 仅仅支持标量子查询 from后面: 支持表子查询 where或having后面:★ 标量子查询(单行) √ 列子查询 (多行) √ 行子查询 exists后面(相关子查询) 表子查询按结果集的行列数不同: 标量子查询(结果集只有一行一列) 列子查询(结果集只有一列多行) 行子查询(结果集有一行多列)(使用较少

2021-09-14 16:57:02 35

原创 mysql 199 连接查询

左连接 ,右连接,内连接和全外连接的4者区别 A表            id  name    1  小王  2  小李  3  小刘  B表  id  A_id  job  1  2    老师  2  4    程序员内连接:(只有2张表匹配的行才能显示)select a.name,b.job from A a inner join B b on a.id=b.A_id  只能得到一条记录  小李  老师左连接:(左边的表不加限制)select a.name,b.

2021-09-14 11:34:54 109

原创 Java 数 组(笔记)

3. 数组使用注意事项和细节1)数组是多个相同类型数据的组合,实现对这些数据的统一管理2)数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用。3)数组创建后,如果没有赋值,有默认值int 0,short 0, byte 0, long 0, float 0.0,double 0.0,char \u0000,boolean false,String null4)使用数组的步骤 1. 声明数组并开辟空间 2 给数组各个元素赋值 3 使用数组5)数组的下标是从 0 开始的。数组下标

2021-09-11 00:00:44 350

原创 排序算法详解:冒泡排序、选择排序、插入排序、快速排序、希尔排序

一、冒泡排序1.1 冒泡排序基础【必会知识】冒泡排序是比较基础的排序算法之一,其思想是相邻的元素两两比较,较大的数下沉,较小的数冒起来,这样一趟比较下来,最大(小)值就会排列在一端。整个过程如同气泡冒起,因此被称作冒泡排序。  冒泡排序的步骤是比较固定的:1 比较相邻的元素。如果第一个比第二个大,就交换他们两个。2 每趟从第一对相邻元素开始,对每一对相邻元素作同样的工作,直到最后一对。3 针对所有的元素重复以上的步骤,除了已排序过的元素(每趟排序后的最后一个元素),直到没有任何一对数字需要比较

2021-09-05 11:06:22 3534

原创 java基础语法(笔记)

八种基本类型分别是:整型 (4种)byte 8 位、short 16位、 int 32位、 long 64位当以l或者L结尾的时候,一个整数字面值是long类型,否则就是int类型。 建议使用大写的L而非小写的l,因为容易和1混淆。字符型 (1种):char 长度为16位用于存放一个字符,值用单引号’表示 ,其长度和short一样,也是,只能存放一个字符浮点型 (2种)float 长度为32位 ,double 长度为64位注意: 默认的小数值是double类型的,f

2021-09-02 19:18:38 61

空空如也

空空如也

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

TA关注的人

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