自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 黑马程序员-微服务开发-MybatisPlus的使用

讲解一个特点,MyBatisPlus无侵入:在MyBatis的基础上只做增强不做改变,不会对现有的工程产生影响;也就是即使我们用了MybatisPlus,如果项目中还有我们手动写好的sql,是对这些sql没有影响的,之前写的sql删不删是无影响的,尽管我们使用了MP。自定义的Mapper继承MybatisPlus提供的BaseMapper接口。但是我们手动写的很麻烦,不如用MP生成,看看用MP实现的增删改查。至此增删改查变得容易了。

2025-03-21 14:03:54 124

原创 苍穹外卖-超出配送范围代码步骤完整版

登录百度地图开放平台:百度地图-百万开发者首选的地图服务商,提供专属的行业解决方案百度地图开放平台作为百万开发者首选的地图服务商,不仅面向开发者提供包括API、SDK、SaaS、PaaS、DaaS等服务,还面向B/G两端提供专业的行业解决方案,包括物流行业方案、文旅行业方案、交通行业方案、汽车行业方案、金融行业方案等,助力千行百业数字化转型及智能化升级。登录/注册后,进入控制台,创建应用。

2025-03-20 17:42:26 378

原创 苍穹外卖-微信支付(拿不到商户号就当作了解即可)

进入该网站产品中心 - 微信支付商户平台微信支付商户平台提供各类支付产品满足商家通过微信支付收款的需求;平台提供智慧经营,现金红包,代金券等运营工具,助力商家更好的玩转营销;资金管理产品满足商户常见资金诉求;安全医生为商家提供全方位安全保障,共建支付安全。微信支付见证每一位商户的经营成长。点击接入微信支付 ,进入后点击注册微信支付商户号,注册完看第二步。

2025-03-19 16:48:13 393

原创 苍穹外卖-WebSocket使用的前置条件

直接使用websocket.html页面作为WebSocket客户端这里不用理会第二步:导入WebSocket的maven坐标第三步:导入WebSocket服务端组件,用于和客户端通信。

2025-03-19 16:27:51 181

原创 苍穹外卖-Spring Task使用的前置条件

第一步:导入maven坐标 spring-context(已存在)无需理会第二步:启动类添加注解 @EnableScheduling 开启任务调度第三步:这里就可以自定义一个任务类了。

2025-03-19 16:18:57 151

原创 苍穹外卖-小程序微信登录前提配置

配置微信登录所需配置项:配置为微信用户生成jwt令牌时使用的配置项:

2025-03-19 11:13:54 157

原创 苍穹外卖-在java中操作redis

应用场景:设置店铺营业状态。

2025-03-19 11:04:31 517

原创 苍穹外卖-阿里云OSS使用

这个在创建后要自己保存,后面如果忘了就查不到了。

2025-03-18 15:58:21 642

原创 苍穹外卖-公共字段自动填充问题盘点

方法:(1)自定义注解 AutoFill,用于标识需要进行公共字段自动填充的方法(2)自定义切面类 AutoFillAspect,统一拦截加入了AutoFill注解的方法,通过反射为公共字段赋值(3)在 Mapper的方法上加入AutoFill注解。

2025-03-18 15:32:01 374

原创 苍穹外卖-员工分页查询问题盘点

在 WebMvcConfiguration 中扩展Spring MVC的消息转换器,统一对日期类型进行格式化处理,代码也比较固定,知道怎么配置即可:

2025-03-18 14:51:22 110

原创 苍穹外卖-新增员工问题盘点

程序存在的问题:•第一个问题:录入的用户名已存在,抛出异常后没有处理•第二个问题:新增员工时,创建人id和修改人id设置为了固定值。

2025-03-18 14:43:07 158

原创 苍穹外卖-knife4j配置

第一步引入依赖:(pom.xml里配置,该项目自带,无需配置)本次配置大多数都为固定代码,只需要知道怎么配置即可。

2025-03-18 14:23:41 222

原创 Ubuntu20.04更换镜像源------最简单的教程

本教程适用于:Ubuntu22.04。

2024-03-28 20:32:31 1179

原创 操作系统------第一章:操作系统引论

操作系统引论1.1操作系统的目标和作用操作系统的目标与应用环境有关。例如在查询系统中所用的OS,希望能提供良好的人机交互性;对于应用于工业控制、武器控制以及多媒体环境下的OS,要求其具有实时性;而对于微机上配置的OS,则更看重的是其使用的方便性。操作系统的目标:1.方便性2.有效性3.可扩充性4.开放性操作系统的作用:1.  OS作为用户与计算机硬件系统之间的接口OS作为用户与计算机硬件系统之间接口的含义是:OS处于用户与计算机硬件系统之间,用户通过。

2024-03-25 20:07:56 1092

原创 C语言从入门到熟悉------第六阶段

什么是头文件?在C语言家族程序中,头文件被大量地使用。一般而言,每个C/C++程序通常都由头文件(header file)和定义文件(definition file)组成。头文件主要用于保存程序的声明(declaration),后缀为.h。而“定义文件”用于编写程序的逻辑实现(implementation),后缀为.c或.cpp。头文件本身不需要包含程序的逻辑实现代码,它只起到描述的作用。

2024-03-17 10:35:42 1501

原创 C语言从入门到熟悉------第五阶段

struct 结构体名成员列表int num;char sex;int age;//最后的分号千万不能省略我们要对结构体做一些说明:(1)struct STUDENT与系统提供的int、char、float、double等标准类型名一样,都是数据类型,具有同样的作用,都是用来定义变量的。但结构体类型和系统提供的标准类型又有所不同:“结构体类型”不仅要求指定该类型为“结构体类型”,即struct,而且要求指定该类型为某一“特定的”结构体类型,即“结构体名”。

2024-03-16 15:53:37 1536

原创 C语言从入门到熟悉------第四阶段

const是constant的缩写,意思是“恒定不变的”!它是定义只读变量的关键字,或者说const是定义常变量的关键字,说它定义的是变量,但又相当于常量;说它定义的是常量,但又有变量的属性,所以叫常变量。用const定义的变量的值是不允许改变的,即不允许给它重新赋值,即使是赋相同的值也不可以。所以说它定义的是只读变量。而且用const修饰的变量,无论是全局变量还是局部变量,生存周期都是程序运行的整个过程。而使用const修饰过的局部变量就有了静态特性,它的生存周期也是程序运行的整个过程。

2024-03-15 21:34:01 1265

原创 C语言从入门到熟悉------第三阶段

在C语言中可以用#define定义一个标识符来表示一个常量。其特点是:定义的标识符不占内存,只是一个临时的符号,预编译后这个符号就不存在了。预编译又叫预处理。预编译不是编译,而是编译前的处理。这个操作是在正式编译之前由系统自动完成的,所以叫预编译。#define 标识符 常量 //注意,最后没有分号#define和#include一样,也是以“#”开头的。凡是以“#”开头的均为预处理指令,所以#define也是一条预处理指令。#define又称宏定义,标识符为所定义的宏名,简称宏。

2024-03-13 21:16:46 1176

原创 C语言从入门到熟悉------第二阶段

什么是选择执行?选择执行就是“某些代码可能执行,也可能不执行,有选择地执行某些代码”。选择执行分两类:if和switch。if是“如果”的意思,switch是“开关”的意思。其中用得最多的是if。switch用得不多,但用得不多不代表不重要,switch同样非常重要。

2024-03-11 21:18:23 1401

原创 C语言从入门到熟悉------第一阶段

本文创作参考如下图书:本书作者:吴明杰、曹宇、吴丹。return 0;这个是将字符 'A' 输出了,但是如果将printf中的%c改成%d会怎样?编译一下试试,它不会报错。想想为什么不会报错?因为不管是什么类型的数据,在内存中都是二进制的,所以不会报错。%c和%d只是输出时显示的方式不一样而已。当将%c改成%d并链接、执行后输出的就不是字符'A',而是一个数字“65”。这说明字符 'A' 是以65这个十进制数对应的二进制代码存储的。ASCII就是规定了某个字符使用哪个整数保存。

2024-03-10 14:37:56 1317

原创 蓝桥杯:真题讲解3(C++版)附带解析

乘积出现尾零,肯定是5和偶数相乘得到的,每出现一个10,就应从乘数中可以提出一个2、一个5。所以我们把每个数的都分解成乘积的形式 ,统计出2和5的数量,然后取较小那个。分析: --画出报纸长的样子,如果我们在上面多画一张报纸,那么就符合题意的5,6,11,12。观察这张图:观察3,4,9,10这一张报纸,怎么求出这份报纸一共多少页呢?由上可知,长度为k的素数等差数列的最小公差为小于k的所有素数之积。10以内的素数为2,3,5,7,所以2*3*5*7=210。分析:因为是填空题,直接暴力求解即可。

2024-02-29 13:03:17 830

原创 蓝桥杯:真题讲解2(C++版)附带解析

我们还有一个问题,就是数列的排序是按照蛇形来排序的,那我们怎么处理有反向的数列呢,我们经过短暂的思考,立马给出了解决方案,先按照正常的方式来求,到了最后,我们发现。分析:这题涉及到平年和闰年的知识,如果我们要解这题,首先要知道每月有多少天,其实也就是看2月份的天数,其它月份的天数都是一样的,只有2月有点不同。分析:找规律即可,第零层到第一层+1,第一层到第二层+2,第二层到第三层加+3,第三层到第四层+4,以此类推。平年的2月有28天,闰年2月有29天,搞定如何判断平年和闰年,这题也就好解了。

2024-02-24 10:13:23 1254

原创 蓝桥杯:真题讲解1(C++版)附带解析

用于计算计算x的y次幂:double pow( double base, double exp );=0),能够整除,b就是a的约数。来自:2020年十一届省赛大学C组真题(共9道题)来自:2019年十届省赛大学B组真题(共10道题)来自:2015年六届省赛大学C组真题(共6道题)来自:2015年六届省赛大学C组真题(共6道题)来自:2015年六届省赛大学B组真题(共6道题)分析:利用取余和除法判断每一位是否符合即可。分析:直接暴力求解,使用C++的api。分析:按照题意模拟即可。分析:根据题意模拟即可。

2024-02-22 11:17:57 1045

原创 蓝桥杯:时间显示、门牌制作、蛇形填空讲解(C++)

d ---输出带符号的十进制整数,正数的符号不输出。(3)第三行,第三列 13 = 2*2 + 3*3;(1)第一行,第一列 1 = 0*0 + 1*1;(2)第二行,第二列 5 = 1*1 + 2*2;来自:2021年十二届省赛大学B组真题(共10道题)来自:2020年十一届省赛大学B组真题(共10道题)%02d ---输出数据占2列,不足2列,要补0。所以第20行20列 19*19 + 20*20。分析:不断地取每一位,判断是不是2就行了。%5d ---指定输出数据占5列。

2024-02-21 12:32:03 758

原创 蓝桥杯:C++素数、进制转换

埃氏筛选的主要思想是先把n以内的合数全部找出来,合数排除以后,其余的就全部是素数了,运用的方法是以空间换时间。若 2 都不能除尽,还要试 4, 6, 8, …若 3 都不能除尽,还要试 9, 15, 21, …我们只需要学会十进制与与任意进制之间相互转换就够了,任何题型都能够套这个公式。一个大于1的自然数,除了1和它自身外,不能被其他自然数。否则称为合数(规定1既不是质数也不是合数)。可以看到是正常输出的,结果也是正确的。也就是找某个区间内有多少个素数。下面给个例题(附带讲解)

2024-02-20 10:32:13 889

原创 蓝桥杯:C++贪心算法、字符串函数、朴素模式匹配算法、KMP算法

发现第1个字符就不同,即P[0]≠S[0],这种情况称为“失配”,后面的P[1]、P[2]就不用比较了,如图9.1所示。第1轮匹配:比较S[0]~S[2]=aaa和P[0]~P[2]=aab,前两个字符相同,第3个字符不同,即S[2]≠P[2],共比较了3次。发现P的第1个字符与S的第2个字符不同,即P[0]≠S[1],后面的P[1]、P[2]就不用比较了,如图9.2所示。最简单的是朴素模式匹配算法,这是一种暴力法,从S的第1个字符开始,逐个匹配P的每个字符,如果发现不同,就从S的下一个字符重新开始匹配。

2024-02-19 12:57:42 2049

原创 蓝桥杯:C++二叉树

二叉树的第1层是一个结点,称为根,它最多有两个子结点,分别是左子结点、右子结点,以它们为根的子树称为左子树、右子树。二叉树上的每个结点,都是按照这个规则逐层往下构建出来的。图3.4 二叉树的形态满二叉树和完全二叉树是平衡的二叉树,因为每个结点的左右子树的数量都差不多。“链状”二叉树是不平衡的二叉树。只有在平衡的二叉树上才能进行高效的操作,而不平衡的二叉树退化成了线性结构,和低效的链表没多大区别。

2024-02-18 12:37:17 892

原创 蓝桥杯:C++队列、优先队列、链表

通过调用list容器的成员函数begin()得到一个指向容器起始位置的iterator,可以调用list容器的 end() 函数来得到list末端下一位置,相当于:int a[n]中的第n+1个位置a[n],实际上是不存在的,不能访问,经常作为循环结束判断结束条件使用。如果调用resize(n)将list的长度改为只容纳n个元素,超出的元素将被删除,如果需要扩展那么调用默认构造函数T()将元素加到list末端。

2024-02-17 20:33:34 1268

原创 蓝桥杯:C++模运算、快速幂

如果一个数太大,无法直接输出,或者不需要直接输出,则可以对它取模,缩小数值再输出。gcd(a, b)×lcm(a, b) = a×b,即lcm(a, b) = a×b/gcd(a, b) =a/gcd(a, b) ×b。取模操作的加、减、乘满足分配律,注意此时仍要求a+b、a−b、a×b为正数,如果有负数,请小心处理。放在取模题中,这也是一道取模的简单题,利用取模操作把计算复杂度降为O(1)。这题用暴力法很好解,但是只能拿到60的测试数据,差不多对一半吧。库函数__gcd()可能会返回负数,见下面的例子。

2024-02-17 13:36:23 1450

原创 蓝桥杯:C++二分算法

在基本算法中,二分法的应用非常广泛,它是一种思路简单、编程容易、效率极高的算法。蓝桥杯软件类大赛中需要应用二分法的题目很常见。二分法有整数二分和实数二分两种应用场景。

2024-02-16 19:26:00 826

原创 蓝桥杯:C++排列与组合

排列是暴力枚举时的常见操作。有以下两种情况。C++的 next_permutation()是全排列函数,只能输出序列中所有元素的全排列。本节将给出手写排列和组合的代码。因为在很多场合中不能使用系统自带的排列函数,所以需要自己编写。

2024-02-15 15:02:09 1470

原创 蓝桥杯:C++排序

在我们进行包括scanf等的输入函数使用时,其实用户在cmd中的输入实际是存放于缓冲区当中,当用户键入回车那一瞬间,之前输入的数据才会被存进去,而这里无论是单个字符还是字符串,我们都知道scanf的返回值呢是表示成功接受到的对象的个数,那这里如果遇到特殊情况,比如缓冲区文件流满等问题,那么scanf将如何处理呢?不过,在算法竞赛中,一般不需要手动编写这些排序算法,而是直接使用库函数,例如C++的sort()函数。题目分析:本题是简单题,解题思路是读取所有数字,先排序,然后查找丢失的数字和重复的数字。

2024-02-15 11:48:02 1696

原创 蓝桥杯:01串的熵讲解(C++)

本题来自于:2023年十四届省赛大学B组真题(共10道题)

2024-02-14 19:42:08 1723

原创 蓝桥杯:日期统计讲解(C++)

本题来自于:2023年十四届省赛大学B组真题。

2024-02-14 17:41:02 1077

原创 蓝桥杯:C++数组

数组是最简单的数据结构,虽然数组简单,但是在算法竞赛中至关重要,因为其他数据结构都可以用数组来模拟,即“物理存储上是数组,逻辑上是其他数据结构”。用数组模拟其他数据结构,虽然不是工程项目中的正规做法,但是非常适合算法竞赛,因为这样编写代码快、不易出错。C++的数据类型中,最大的long long类型,可以声明64位的二进制数变量。此题的关键是处理大数的输入,因为整数a和b太大,无法将其直接赋值给C++的变量,所以不能按数字读入,只能按字符读入。【题目描述】输入两个整数a和b,输出这两个整数的和。

2024-02-14 13:48:25 848

原创 蓝桥杯题目解析 --汉诺塔(含C++栈的知识)

该题在蓝桥杯基础数据结构篇,进入后搜索题号1512。

2024-02-13 19:57:08 756

原创 JavaWeb:关于登录认证的简单拓展

本文基于文章-------JavaWeb:SpringBootWeb登录认证 --黑马笔记 -------再做简单拓展如果没有关于登录认证知识的基础,可以先看上面所说的的文章,文章在专栏javaweb中,下面我为了大家观看,直接放了链接。总结这几种登录方式:Cookie + Session 历史悠久,适合于简单的后端架构,需开发人员自己处理好安全问题。基于Token的JWT 方案对后端压力小,适合大型分布式的后端架构,但已分发出去的 token ,如果想收回权限,就不是很方便了。

2024-02-13 13:32:15 1047

原创 JavaWeb:SpingBoot原理 --黑马笔记

SpringBoot的自动配置就是当Spring容器启动后,一些配置类、bean对象就自动存入到了IOC容器 中,不需要我们手动去声明,从而简化了开发,省去了繁琐的配置操作。比如:我们要进行事务管理、要进行AOP程序的开发,此时就不需要我们再去手动的声明这些bean对象了,我们直接使用就可以从而大大的简化程序的开发,省去了繁琐的配置操作。我们知道了什么是自动配置之后,接下来我们就要来剖析自动配置的原理。

2024-02-13 13:10:43 1298

原创 JavaWeb:SpringBootWeb登录认证 --黑马笔记

什么是会话?在我们日常生活当中,会话指的就是谈话、交谈。在web开发当中,会话指的就是浏览器与服务器之间的一次连接,我们就称为一次会话。在用户打开浏览器第一次访问服务器的时候,这个会话就建立了,直到有任何一方断开连接,此时会话就结束了。在一次会话当中,是可以包含多次请求和响应的。比如:打开了浏览器来访问web服务器上的资源(浏览器不能关闭、服务器不能断开)第1次:访问的是登录的接口,完成登录操作第2次:访问的是部门管理接口,查询所有部门数据第3次:访问的是员工管理接口,查询员工数据。

2024-02-12 20:13:47 3264 1

原创 Java:字符集、IO流 --黑马笔记

在前面我们已经学习过File类。但是我们知道File只能操作文件,但是不能操作文件中的内容。我们也学习了字符集,不同的字符集存字符数据的原理是不一样的。有了前面两个知识的基础,接下来我们再学习IO流,就可以对文件中的数据进行操作了。IO流的作用:就是可以对文件或者网络中的数据进行读、写的操作。把数据从磁盘、网络中读取到程序中来,用到的是输入流。把程序中的数据写入磁盘、网络中,用到的是输出流。简单记:输入流(读数据)、输出流(写数据)。IO流在Java中有很多种,不同的流来干不同的事情。

2024-02-11 20:46:00 2180

空空如也

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

TA关注的人

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