- 博客(51)
- 收藏
- 关注
原创 SQL五十道经典题型——(七)查询学过编号为“01”的课程并且也学过编号为“02”的课程的学生的学号、姓名(重点)
查询学过编号为“01”的课程并且也学过编号为“02”的课程的学生的学号、姓名(重点)解题思路1、分析题目这道题 最 最 最 关键的所在,(划重点)就是:把学过编号为“01”课程的同学查询出来,再把学过编号为“02”课程的同学查询出来,然后把两张表合并到一张表中。2、通过课程表course查询课程编号为 “01”,“02”的课程#课程编号为01的数据SELECT * FROM course WHERE c_id = 01;#课程编号为02的数据SELECT * FROM c
2022-05-25 21:10:16
4592
原创 SQL五十道经典题型——(六)查询学过“张三”老师所教的所有课的同学的学号、姓名(重点)
查询学过“张三”老师所教的所有课的同学的学号、姓名(重点)解题思路1、分析题目将题目进行分解,获取到“张三”老师的id与所讲过的课程,然后将同学的信息与张三老师的信息连接在一起。2、获取“张三”老师的信息,通过teacher表SELECT t_id, t_name FROM teacher WHERE t_name = "张三";3、思考如何将“张三”老师的信息与同学的信息连接在一起需要用到几个表(重点)学生表:Student(s_id,s_name,s_birth,s
2022-05-08 21:32:03
7175
6
原创 从二叉树的角度理解——归并排序
归并排序这篇文章将从二叉树的角度理解归并排序。归并排序的本质是采用递归的方式将一个数组分为若干个子数组,直到子数组分为一个个独立的数据的时候,开始进行有序的合并排序。归并排序的执行流程①、不断的将当前序列平均分割成2个子序列,直到不能再分割(子序列中只剩一个元素);②、不断的将2个子序列合并成为一个有序的序列,直到最后合并为一个序列。对于归并排序的总结思考先对左右子数组进行排序,然后进行合并(有序,类似于合并有序链表的逻辑),仔细想一想像不像二叉树的后序遍历,将整个数组看作根节点,然后通
2022-04-04 11:22:42
947
原创 SQL五十道经典题型——(五)查询没学过“张三”老师课的学生的学号、姓名(重点)
查询没学过“张三”老师课的学生的学号、姓名(重点)解题思路重点:分析各个表之前对应的关系。score分数表将各个科目与学生id相关联,第一步,在 teacher 表中获取“张三”老师的 t_id ,第二步,根据 t_id 获取到“张三”老师所带的科目信息,第三步,根据科目的id(c_id) 获取学过张三老师所带科目的学生id(s_id),第四步,使用 `IN` , `NOT` 操作符与学生表进行关联。IN操作符,用来指定条件范围,范围中的每个条件都可进行匹配。IN取合法值由逗号分隔,并且
2022-02-06 14:22:57
6318
2
原创 SQL五十道经典题型——(四)查询姓“猴”的老师的个数(不重要)
查询姓“猴”的老师的个数分析题目:需要查询 “猴xx” 的个数,需要使用到通配符 %,使用通配符就需要用到 LIKE 关键字,获取个数需要使用到COUNT()函数。SELECT count( t_name ) FROM teacher WHERE t_name LIKE '猴%';查询结构因为之前设计数据库的时候没有插入 “猴xx” 老师所以是查询不到数据的...
2022-02-06 13:17:13
1096
原创 SQL五十道经典题型——(三)查询所有学生的学号、姓名、选课数、总成绩(不重要)
查询所有学生的学号、姓名、选课数、总成绩(不重要)分析题目需要查询到所有同学的选课数,总成绩需要用到SUM(),COUNT()两个函数,其中COUNT()函数返回某列的行数,SUM()函数返回某列值之和。SELECT st.s_id, st.s_name, COUNT( s.s_id ), SUM( s.s_score ) FROM student AS st INNER JOIN score AS s ON st.s_id = s.s_id GROUP BY st.s_id,
2022-02-06 13:06:26
11384
原创 SQL五十道经典题型——(二)查询平均成绩大于60分的学生的学号和平均成绩(简单,第二道重点)
查询平均成绩大于60分的学生的学号和平均成绩(简单,第二道重点)分析题目:求出平均成绩大于60分的同学需要用到 AVG(列名)返回某列的平均值,SELECT avg( s_score ) FROM score是计算出这一列的所有成绩平均值,而不是每个同学成绩的平均值,那么我们就需要进行分组用到GROUP BY子句创建分组SELECT avg( s_score ) FROM score GROUP BY s_id获得每个学生的平均成绩,但是需要大于60分的成绩,对分组
2022-01-24 17:43:27
12892
原创 SQL五十道经典题型——(一)查询课程编号为“01”的课程比“02”的课程成绩高的所有学生的学号(重点)
SQL必会50道经典题型创建表学生表:Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别课程表:Course(c_id,c_name,t_id) – –课程编号, 课程名称, 教师编号教师表:Teacher(t_id,t_name) –教师编号,教师姓名成绩表:Score(s_id,c_id,s_s_score) –学生编号,课程编号,分数测试数据--建表--学生表CREATE TABLE `Student`(`s_i
2022-01-24 16:28:23
6981
转载 JMS基本概念
摘要:The Java Message Service (JMS) API is a messaging standard that allows application components based on the Java Platform Enterprise Edition (Java EE) to create, send, receive, and read messages. It enables distributed communication that is loosely coup.
2022-01-02 22:51:48
107
转载 面向过程 :面向过程性能比面向对象高
面向过程 :面向过程性能比面向对象高??面向过程 :面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。----》》这个并不是根本原因,面向过程也需要分配内存,计算内存偏移量,Java性能差的主要原因并不是因为它是面向对象语言,而是Java是半编译语言,最终的执行代码并不是可以直接被CPU执行的二进制机械码。而面向过程语言大多都是直接编译成机械码在电脑上执行,并且其它一些
2021-12-04 16:16:47
247
原创 vue报错之@ ./node_modules/babel-loader/lib./node_modules/vue-loader/lib/selector.js
Vue启动报错This relative module was not found:* ./utils/api in ./node_modules/cache-loader/dist/cjs.js??ref–12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref–0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/Lo
2021-10-28 20:24:25
7933
原创 el-form表单验证报错[Element Warn][Form]model is required for validate to work!
报错截图如下图所示:1.属性绑定错误:v-bind:model绑定,而不是v-model<el-form :rules="rules" ref="login" v-bind:model="loginForm" class="loginContainer"></el-form>2.ref重复检查是否在其它表单中使用了相同的ref命名...
2021-10-26 19:32:10
1181
转载 vue-cli 安装过程中报错npm ERR! code EEXIST npm ERR! path
在安装vue/cli,报错的问题如下:输入 npm install -g @vue/cli后来就尝试清一下缓存:npm cache clean –force (清楚npm缓存)发现再次安装还是无效,环境变量也没有错,最后是这样解决的:把安装node文件夹下的node_cache(node缓存文件夹)跟node_global(全局安装是安装在node_global目录下的)两个文件夹下的内容全部删除再次执行:npm install -g @vue/cli版权声明:本文为优快云博主「爱吃猫的
2021-10-26 12:49:23
3731
转载 npm ERR! code EJSONPARSE
文章目录npm ERR! code EJSONPARSE错误原因正确格式npm ERR! code EJSONPARSEnpm ERR! JSON.parse Failed to parse json问题出现形式如下:npm ERR! code EJSONPARSEnpm ERR! JSON.parse Failed to parse jsonnpm ERR! JSON.parse Unexpected string in JSON at position 513 while parsing '
2021-10-26 12:42:57
6644
转载 vue-router的routes中name属性作用详解
文章目录vue-router的routes中name属性作用详解第一种用法:第二种用法:第三种用法:vue-router的routes中name属性作用详解我们常用vue.js和vue-router来创建单页应用,vue-router能很方便的管理所有的单页组件。我们在定义每个路由的时候会有一个name的属性(如下面代码),通常我们不定义这个属性发现也没有任何问题,那么这个name到底有什么用呢?export default new Router({ mode: 'history', rout
2021-10-26 12:36:05
1318
原创 Java语言面向对象编程中的构造方法与对象的创建、使用和清除
构造方法基本概念类中有一种特殊方法称作构造方法,类创建对象时需使用构造方法,以便给类所创建的对象一个合理的初始状态。构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,并且不返回任何数据类型,即它是void类型,但void必须省略不写。构造方法只能使用关键字new进行调用。Java允许一个类中有若干个构造方法,但这些构造方法的参数必须不同,即或者是参数的个数不同,或者是参数类型不同。原因是方法的重载。默认构造方法当一个类中没有自定义任何形式的构造方法时,则编译器会自动提供一个无
2021-10-24 20:11:42
642
原创 Docker常用命令详情
文章目录Docker 的常用命令帮助命令Docker 的镜像命令显示镜像列表查找镜像下载镜像删除镜像Docker 的容器使用创建CentOs容器启动容器查看正在运行的镜像退出容器删除容器启动和停止容器后台启动容器查看日志查看进程信息查看镜像的元数据进入当前正在运行的容器从容器内拷贝文件到主机上Docker 的常用命令帮助命令docker version # 显示docker的版本信息docker info #显示docker的系统信息,包括镜像和容器的数量docker 命令 --help #帮助
2021-10-20 20:55:01
323
原创 最新版 Docker 安装 Nginx
最新版 Docker 安装 Nginx1、在Docker中查询Nginx2、选择最新版本安装3、查询Docker容器中的镜像4、启动Nginx5、查询是否启动Nginx镜像6、停止Nginx7、删除Nginx容器1、在Docker中查询Nginx[root@shiqi /]# docker search nginx#查询结果NAME DESCRIPTION STARS
2021-10-20 20:48:58
1114
原创 CentOS8.4 最新版 安装部署 Docker
Docker 安装1、查看CentOS版本信息 cat /etc/redhat-release CentOS Linux release 8.4.21052、安装yum或者确保yum是最新版(必须确保连网状态)#安装yumyum install#更新最新版yum update3、检查是否存在Docker,并且删除旧版本yum remove docker \ docker-client \ docker-clie
2021-10-16 21:40:10
434
原创 Ant 风格的路径匹配符
Ant 风格的路径匹配符下面这段代码就是使用了 Ant 风格的路径匹配符http.authorizeRequests() .antMatchers("/admin/**").hasRole("admin") .antMatchers("/user/**").hasRole("user") .anyRequest().authenticated() .and() ... ...Ant 风格的路径匹配符在 S
2021-10-05 17:18:19
522
原创 运行SpringBoot:Invalid bound statement (not found):
运行SpringBoot:Invalid bound statement (not found): com.shiqi.blog.mapper.TagMapper.findTagsByArticelIdSpringBoot发生Invalid bound statement (not found):namespace下面的路径 一定要对应Dao接口或者Mapper接口Dao 或者Mapper下面的方法名 和XML 中的id不对应XML中的resultType中的返回值类型xml文件中的中文注释
2021-09-08 23:14:31
2601
原创 SpringBoot基础入门--了解自动配置原理
了解自动配置原理1、SpringBoot特点1.1、依赖管理1.2、自动配置1.2.1、定位主要应用程序类1.3丶配置绑定@ConfigurationProperties2、容器功能2.1、初步了解配置组件2.2、自动配置原理入门2.2.1、引导加载自动配置类@SpringBootConfiguration@ComponentScan(。。。)@EnableAutoConfiguration**@AutoConfigurationPackage****@Import({AutoConfigurationIm
2021-08-13 11:15:34
164
原创 for 和 for each循环使用
for 语句比较简单,用于循环数据。for循环执行次数在执行之前,已经确定好了。 for(初始化;条件表达式;修改初始值表达式){ //循环体 }foreach语句是Java5之后的新特性之一,在遍历数组、集合方面、foreach为开发人员提供极大的方便。语法格式: for(元素类型t 元素变量名x : 遍历对象obj){ 引用x的Java语句 }例:public class Main { public static void main(String[] args) {
2021-05-19 22:36:24
233
原创 @RequestParam注解
文章目录为什么代码中要写@RequestParam在没有写入时,同时在url中没有参数,显示String:null.在代码中添加@RequestParam时,没有加入required默认值为true加入required=false还可以添加默认值defaultValue完整的语法规则为什么代码中要写@RequestParam@RequestParam:将请求参数绑定到你控制器的方法参数上(是springmvc中接收普通参数的注解)简单来说,就是为了接受参数。在没有写入时,同时在url中没有参数,
2021-05-07 21:33:12
911
原创 在MAVEN项目中导入的Spring的jar包【最新版本】
<properties> <spring.version>4.3.7.RELEASE</spring.version></properties><dependencies> <!-- Spring --> <!-- 1)Spring核心 --> <dependency> <groupId>org.springframework</groupId> <artif
2021-05-06 18:15:13
1543
原创 String类、StringBuilder类和StringBuffer类
String类基本概念:java.lang.String类用于描述字符串,Java程序中的所有字符串字面值都可以使用该类的实例/对象加以描述。例如:‘hello’该类描述的字符串内容是常量不可改变,因此可以被共享使用。String类属于不可改变的类,即String对象一经创建后,其封装的字符串序列是不能改变的。该类由final关键字修饰表示不能被继承。例如:String str1= ‘hello’;str1 = ‘world’;输出的str1是’world’;原因是:改
2021-04-28 19:42:39
155
原创 为什么在SSM中,@Autowired是用来注入类的,但是标注在接口上,而不标注在实现类上?????
public class AreaServiceTest extends BaseTest{ @Autowired //这个@Autowired标注在Service接口上 private AreaService areaService; @Test public void testGetAreaList() { List<Area> areaList = areaService.getAreaList(); }}@Autowired的作用:自动装配自动装配实现了serv
2021-03-26 20:08:35
1125
原创 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager 信息: Initializing c3p0 pool... c
com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager信息: Initializing c3p0 pool… com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 2, acquireRetryDelay -> 1000, autoCommitOnClose -> fals.
2021-03-25 21:55:08
1197
原创 Loading class `com.mysql.jdbc.Driver‘. This is deprecated. The new driver class is `com.mysql.cj.jdb
Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.翻译加载类“com.mysql.jdbc.Driver”.
2021-03-25 21:43:10
2086
原创 Unknown initial character set index ‘255‘ received from server. Initial client character 解决方法
java.sql.SQLException: Unknown initial character set index ‘255’ received from server. Initial client character set can be forced via the ‘characterEncoding’ property.
2021-03-22 22:02:20
2596
原创 Java中实例化对象是什么意思
Java中什么是实例化在Java语言中使用new关键字创建/构造对象的过程叫做类的实例化,该过程的本质,会在内存空间的堆区申请一块存储区域,用于记录该对象独有的成员变量信息。通俗点就是,实例化:使用关键字new来创建对象。例如:Person person = new Person();这样的语句称为创建对象。对象是根据类创建的。在Java中使用关键字new创建对象。new Person(); 是 声明一个Person类型的对象,在堆区区域。new Person(); ()是指创建Person
2021-02-22 21:02:19
16007
3
原创 稀疏数组
基本介绍当一个 数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是1.记录数组一共有几行几列,有多少个不同的值。2.把具有不同值的元素的行列及值 记录在一个小规模的数组中,从而缩小程序的规模。举例说明编写的五子棋程序中,有存盘退出和续上盘的功能分析问题因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据- - >稀疏数组二维数组和稀疏数组的转化思路二维数组转化稀疏数组大体思路1.遍历 原始的二维数组,从中获取有
2021-01-22 20:57:06
71
原创 Java语言面向对象编程中的成员变量
成员变量的概念成员变量的类型可以是Java中任意的数据类型,包括简单类型,类,接口,数组。在一个类中的成员变量应该是唯一的。成员变量的格式 //格式为: [变量修饰符] 变量数据类型 变量名 [=变量初始值];变量修饰符: public,protected,private,static,final // public,protected,private 为访问范围修饰符 // static 说明该成员变量是类变量(静态变量) // final 说明为常量使用访问修饰符publi
2020-10-24 20:28:26
188
原创 Java语言面向对象编程中的成员变量
成员变量的概念成员变量的类型可以是Java中任意的数据类型,包括简单类型,类,接口,数组。在一个类中的成员变量应该是唯一的。成员变量的格式 //格式为: [变量修饰符] 变量数据类型 变量名 [=变量初始值];变量修饰符: public,protected,private,static,final // public,protected,private 为访问范围修饰符 // static 说明该成员变量是类变量(静态变量) // final 说明为常量使用访问修饰符publi
2020-10-24 20:25:50
465
原创 Java语言面向对象编程中的类
基本概念类简单点说就是“分类”的含义,是对多个具有相同特征和行为对象的抽象描述。***在Java语言中用于表示一种引用数据类型,里面包含了用于描述特征的成员变量和用于描述行为的成员方法。*类的声明类声明定义了类的名字以及其他的属性,说明该类是什么样的一个类。一般来说,根据声明的类需要,类声明可以包含如下三种选项:1.声明类的修饰符;2.说明类的父类;3.说明该类所实现的接口。类的名称:类的名字不能是Java中的关键字,要符合规定,即名字可以由字母、数字、下划线或美元符号$组成,并
2020-09-09 22:41:50
296
原创 流程控制之递归语句
递归递归的基本思想是"自己调用自己"。一个使用递归技术的方法将直接或间接的调用自身的方法。利用递归,可以用简单的程序来解决某一些复杂的计算问题。一个递归的问题可分解为:"递归"和"递推"两个阶段。1.程序控制权反复进入同一个方法,形成递归调用;2.当满足某一条件后结束递归;3.程序控制逐级从方法中返回,形成递推回代。...
2020-09-09 22:40:49
404
原创 流程控制之跳转语句
跳转语句break语句break语句可以用在switch语句中,用于退出switch语句,是程序从switch结构后面的第一条语句开始执行。也可以在循环语句的循环体中使用break语句。在一个循环中,比如循环50次的循环语句中执行了break语句,那么整个循环语句就结束了。带标号的break语句标号是标记程序位置的标识符。break语句只能跳转到循环语句下面的第一条语句上,而带标号的break语句可直接跳出到标号所示的层次。 标识符: ... ... break 标识符; //br
2020-09-09 22:39:00
453
原创 控制流程之循环语句
循环语句一个循环一般应包括四部分内容:初始化部分:用来设置循环的一些初始化条件,计数器清零等。循环体部分:这是反复被执行的一段代码,可以是单语句,也可以是复合语句。迭代部分:这是在当前循环结束,下一次循环开始时执行的语句,常用来使计数器加1或减1。终止部分:通常是以一个布尔表达式,每一次循环要对该表达式求值,以验证是否满足循环终止条件。while循环while语句的一般格式: while(表达式){ 循环体; }执行流程是,先判断条件是否满足,如果满足就执行循环体内的语句,执
2020-09-09 22:38:33
235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人