自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Cache入门

在spring boot项目中,使用缓存技术只需在项目中导入相关缓存技术的依赖包,并在启动类上使用@EnableCaching开启缓存支持即可。在方法执行前先查询缓存中是否有数据,如果有数据,则直接返回缓存数据;如果没有缓存数据,调用方法并将方法返回值放到缓存中。Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。例如,使用Redis作为缓存技术,只需要导入Spring data Redis的maven坐标即可。开启缓存注解功能,通常加在启动类上。

2024-11-12 17:34:59 194

原创 苍穹外卖05-Redis相关知识点

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI编写、支持网络、可基于内存亦可持久化的日志型、Key-Value,并提供多种语言的API。Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供的数据是可以达到100000+的QPS(每秒内查询次数)。它存储的value类型比较丰富,也被称为结构化的NoSql数据库。NoSql(Not Only SQL),不仅仅是SQL,泛指**非关系型数据库**。

2024-11-08 13:43:43 1207

原创 SpringBoot项目中常用的一些注解

但需要注意的是,直接使用@build注解进行对象创建并不是一种推荐的做法,更好的方式是使用Lombok提供的builder模式来创建对象。:通过@Target注解,可以限制其他注解的使用范围,确保它们只能被应用到指定的元素上。:@Select注解是MyBatis框架中的一个注解,用于标记查询语句。:@Target注解是Java中的一个元注解(即注解的注解),用于指定其他注解可以应用的目标元素(如类、方法、字段等)。:@Retention注解也是Java中的一个元注解,用于指定注解的生命周期。

2024-11-08 09:59:11 716

原创 苍穹外卖day-01

在controller层,对着接口点方法的方法上按着ctrl和鼠标左键,会进入service层。后端API接口文档swagger使用流程较为繁琐,这里引入Knife4j框架,写入相关依赖。Q:通过 Swagger 就可以生成接口文档,那么是不是就不需要 Yapi 了?解答:nginx反向代理,将前端发送的动态请求由nginx转发到后端服务器。问题:员工表的密码是明文存储,考虑对密码进行加密,提高数据安全性。登录的账号和密码在数据库中的emploee表中。问题:前端发送的请求是如何请求到后端服务器的?

2024-11-05 15:32:02 551

原创 在IDEA2024中生成SpringBoot模板

根据自己想要创建的工程类型选择,这里创建的时web工程。

2024-11-01 11:17:08 346

原创 Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 61版本不匹配

后来发现是依赖版本存在问题,版本之间冲突,重新修改版本后即可正常运行。起初排查原因觉得是spring版本过老,无法在jdk17中使用。

2024-10-30 09:26:30 412 1

原创 在IDEA中运行Mybatis后发现取出的password值为null

解决方案:修改sql文如下(取别名)

2024-10-29 20:55:56 348

原创 bean相关配置总结

2024-10-29 15:52:57 141

原创 spring中加载properties文件

【代码】spring中加载properties文件。

2024-10-29 15:15:45 196

原创 bean的生命周期

创建的目录列表如下bean生命周期的控制: bean的销毁时机。

2024-10-29 08:41:17 941

原创 bean中的name和scope属性

【代码】bean中的name和scope属性。

2024-10-28 15:28:09 125

原创 Type interface com.ln.dao.UserMapper is not known to the MapperRegistry.

在resource下面创建一个xml文件如图中的mybatis-config.xml,在其中配置mapper。1.每一个Mapper.xml都需要在MyBatis核心配置文件中注册。直接将需要的xml文件复制到下面可以不用写路径,如图所示。注意路径和名称一定要对应,如果写错也可能会报以上错误。2.namespace写错。目前发现两种错误可能。

2024-10-23 17:39:35 271

原创 第一个Mybatis程序搭建过程

2.建造工具类sqlSessionFactory(可以参考官方中文文档创建)1.连接数据库,导入mysql架包和mybatis架包。5.创建mapper文件作为实现类。

2024-10-23 15:44:55 164

原创 在IDEA中遇到报错java.lang.ExceptionInInitializerError(在build中配置resources,来防止我们资源导出失败的问题)

解决方案:手动配置资源过滤,使得可以导出.xml或者.properties文件。下面这段代码关闭了对xml文件和properties文件的过滤,如果还需要保留其他的文件可以通过include进行添加。问题说明:查询资料发现此处是maven由于他的约定大于配置,导致配置文件无法导出或生效。在主工程的pom.xml中写入以下配置。注意:在写入下面这段代码后需要刷新一下maven,否则可能不生效!但是每次都这样操作是很麻烦的,应该寻找根本原因。将.xml文件copy下去后再次运行就运行成功。

2024-10-23 15:35:00 305

原创 IDEA中修改注释样式

修改java注释设置样式需打开File--setting--Editor--Code Style--Java。

2024-10-23 09:11:24 1118

原创 mysql报错1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL

运行如下代码后报错:1064 - You have an error in your SQL syntax;经查询发现,MySQL最新版本(8.0.31)的推出,MySQL才增加了对SQL标准INTERSECT和EXCEPT表运算符的支持。如果低于此版本使用这两个表运算符的话会报错1064。

2024-10-22 10:51:31 2000

原创 MYSQL中的一些增删改查基本操作

在Navicat中执行MySQL的表创建,增删改查,建立索引表等等一系列的操作

2024-10-22 10:46:52 246

原创 在Idea中打开Tomcat

点击Edit打开(不同版本的IDEA的位置可能不同,有的版本可能在左边)最后,自定义命名,然后点击apply-ok即可。输入网址测试一下,运行成功。注意以下的端口都打开。

2024-10-21 13:30:35 265

原创 在IDEA的普通项目中添加webapp文件夹

注意:如果webapp的小蓝点没有亮,刷新maven即可。1.在pom.xml中做如下修改。4.点击Apply-OK。2.点击maven然后刷新。

2024-10-18 15:30:29 468

原创 IDEA中Maven的配置

2024-10-17 08:45:58 94

原创 使用IDEA生成java帮助文档JavaDoc

IDEA 的 JavaDoc 生成功能在菜单 Tools->Generate JavaDoc。参数:-encoding UTF-8 -charset UTF-8。1.在书写注释时,一定要符合相关规范。2.进行如图所示操作。

2024-10-12 10:20:29 358

原创 运行pigcloud项目经常前端断开连接

一段时间无操作后再刷新网页就无法访问。查询发现redis可以自动启动。手动启动需很麻烦(经常忘记)发现是redis没有启动。在GitHub下载即可。

2024-10-09 16:13:11 232

原创 phpStudy无法启动MySQL

可能是本地的mysql和phpstudy发生了冲突。然后再次重新启动phpstudy即可。如果本地已经安装了MySQL。解决方案:停用本地MySQL。解决过程:打开任务管理器。

2024-09-26 18:07:40 484

原创 MySQL安装过程中提示Server 8.0.28 has failed. You can find more information about the failures in the ‘Log‘

发现这是由于之前mysql安装包没有删除干净导致的。经过在网上查询并尝试各种解决方案以后。可以参考以下这篇文章删除电脑残存文件。另外,完成操作后一定记得。

2024-09-26 16:59:39 339

原创 安装Git后查询git --version显示bash: gir: command not found

重启电脑后问题就解决了,,,

2024-09-26 15:33:05 378

原创 win11环境下已安装java1.8后再安装java17,并实现二者间的切换

1.电脑已安装jdk1.8(或者去官网下载)点击win+r 输入cmd 输入。3.打开电脑设置>搜索“环境”再次在cmd中查询,已安装成功。2.下载jdk17并安装。修改环境变量中相应的值。修改path中的地址。

2024-09-24 17:55:45 444

原创 显示 java: 程序包system不存在

初学者第一次开始编写代码时可能遇到这样的问题。改正方法:将System的 S 改成大写状态。错误原因:System拼写错误。

2024-09-20 09:37:44 456

原创 STM32F4xx 通用定时器(PWM)

PWMPWM是什么:具有一定频率的脉冲宽度,通俗讲就是一个高低电平占空比:高电平占整个周期的比例PWM的应用:七彩灯 (低电平所占的时间越长越亮) 直流电机 调速 手机快充(低电量充电手机发烫,此时电流大,高电量时电流减小)窗帘实验:当窗帘被全部打开,整个窗户都被遮住,此时室内的光线最弱;当窗帘被慢慢拉起来,室内的光 线慢慢变亮,整个窗帘都被收起来的时候,室内光线最强。这就是一种脉冲宽度调节。通用TIMx定时器主要特性16位(TIM3 、TIM4 和TIM9-14)...

2022-05-12 20:27:07 1084

原创 js中的关系表达式

关系运算符> < != <= >= (注意 <= 是整体,中间不可以有空格) console.log(8 > 4) // true 输出布尔型 console.log(8 >= 8) // true 注意大于和等于号之间不要有空格判断是否相等注意:一个等号表示赋值 比较两个值相等应该用两个等号 console.log(8 == 8) // true 注意一个等号表示赋值 比较...

2022-05-12 09:43:05 279

原创 RCC_AHB1ENR 、 RCC_APB1ENR 和 定时器

滴答定时器使用AHB1外设 时钟使能寄存器中断、基本定时器、ADC均使用STM32F407定时器的介绍一共有14个定时器基本定时器(2个):定时 通用定时器(10个):具有基本定时器的功能,还有输入捕获和输出比较(PWM) 高级定时器(2个):具有通用定时器的功能,互补输出(死区插入)...

2022-05-12 09:36:59 4134

原创 strcmp()对两个字符串进行比较

C标准库:<string.h>#include <stdio.h>#include <string.h>int strcmp(const char *str1, const char *str2)把 str1 所指向的字符串 和 str2 所指向的字符串进行比较 (ascll码)如果返回值 < 0,则表示 str1 <str2 如果返回值 > 0,则表示 str1 >str2 如果返回值 = 0,则表示 str1...

2022-04-13 17:34:54 644

原创 stm32--按键控制LED灯和蜂鸣器

最终实现效果:按下一个按键,灯亮蜂鸣器响一下。复位后才可按下一个按键。main.c部分代码​#include "led.h"#include "key.h"#include "beep.h"//备注: LED1--PC4 LED2--PC5 LED3--PC6 LED4--PC7 0亮1灭// WKUP-PA0 KEY2-PE2 KEY3-PE3 KEY4-PE4int main(){ u8 key_val; LED_Init(); //LED初始化 KEY_In

2022-03-19 17:01:14 7867 3

原创 51单片机--蜂鸣器

#include "reg52.h"typedef unsigned char u8;typedef unsigned int u16;sbit BEEP=P2^5;void delay_10us(u16 ten_us) //当传入Ten_us=1时,大约延时10us{ while(ten_us--);}void main(){ u16 i=2000; //i值越大(也就是循环次数越多),蜂鸣器响的时间越久,不然可能声音滴一下就没了 while(1) { while.

2022-03-13 16:10:19 8197 1

原创 51单片机--实现跑马灯的两种办法

1.通过左移实现跑马灯#include "reg52.h"#define LED_PORT P0 //使用宏定义的方式将P0端口定义typedef unsigned char u8;typedef unsigned int u16;void delay_10us(u16 ten_us) //当传入Ten_us=1时,大约延时10us{ while(ten_us--);}void main(){ u8 i=0; while(1) { for(i=0;i<8;i

2022-03-11 20:19:58 11478 1

原创 51单片机LED灯闪烁

#include "reg52.h"//此处是为了方便之后定义变量(u8和u16分别代替前面的一串)typedef unsigned char u8; //一个字节 (无单位的浮点型)(0-127)typedef unsigned short int u16; //两个字节16位,所以命名为u16(无单位的整数型)(0-6535)sbit LED1=P0^0;//延时函数void delay_10us(u16 ten_us) //当传入Ten_us=1时,大约延时10us{ whil.

2022-03-10 11:48:21 1620 1

原创 js中的算术表达式

隐式类型转换如果参与数学运算的某操作数不是数字型,那么js会自动将此操作数转换成数字型其本质是内部调用 Number()函数eg:3 * '4' //12 true + true //2 3 * '2天' //NaN 3 + null //3注意:加法不会自动转换3 + '4' //34 3 + '2天' //32天有关IEEE754js中一些小数运算不准确:0.1 + 0.2 //0.300000...

2021-11-05 20:38:48 531

原创 用 prompt 制作加法计算器

<script> //让用户输入两个标签对 var a = Number(prompt('请输入第一个数字:')); //先执行里面的prompt函数 再执行外面的Number函数 var b = Number(prompt('请输入第二个数字:')); //因为prompt输入的是字符串 用Number转换成数字 parseFloat也可以 //计算两个变量的和 var sum = a + b; .

2021-11-05 19:15:05 3945

原创 js中数据类型之间的转换方法

JavaScript总的基本类型值(五个) 布尔 数字 字符串 undefined null typeof的检测结果 boolean number string undefined object 检测小题目:parseInt('3.6' + '5.1') --> 3.65.1 --> 3 (先计算括号内的字符串)...

2021-11-04 20:02:22 120

原创 关于JavaScript中字符串的一些用法

substring(a,b) 从a开始到b结束 (不包括b) a、b 大小随意 'abcd'substring(3,1) --> bc slice(a,b) 从a开始到b结束 (不包括b) 小的数字在前(否则就输出空 ' ' ) a可以是负数 'abcd'slice(-3,-1) -->bc 'substr(a,b) 从a开始 长度为b (不包括a) 'abcd 'subs...

2021-11-01 21:18:49 108

原创 关于HTML的一些用法

2021-08-12 16:20:17 93

空空如也

空空如也

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

TA关注的人

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