自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL事务及索引复习笔记

本文参考小林coding,地址。

2025-03-12 17:08:34 714

原创 一文看懂拦截器

首先,SpringMVC给我们提供了一个拦截器的接口类,名为HandlerInterceptor在 HandlerInterceptor 中包含三个方法,分别是preHandlepostHandlepreHandle会在请求到达controller之前执行,返回true表示放行,返回false表示拦截postHandle会在controller方法执行完成后、视图渲染前执行会在整个请求处理完成且视图渲染后执行。

2025-03-01 11:56:47 356

原创 Redis学习

可以在存数据的时候设置超时时间,避免因为只存出现内存不足的情况(如果不引入超时删除,就会出现redis只存不删的情况,时间长了内存会爆)分别是String、Hash、List、Set和Zset(操作命令很多这里只写部分关键的,其他查一查即可)是一种以键值对形式存储的数据库,特点是基于内存存储,读写快,性能高,常用于缓存、消息队列等应用情境。有序可重复,相当于LinkedList,可以从列表的两端进行插入或删除。在value部分提供了一个field作为value的键,因此。redis中最基本的数据结构,

2025-02-28 18:43:48 567

原创 极简RabbitMQ快速学习

同步就是阻塞进程,每一步操作严格按顺序执行,获得结果后才返回;异步操作执行不严格按照顺序执行,操作间没有依赖关系人话:比如开发一个项目,同步就是一个人开发完一个模块后再给另一个人开发,异步就是每个人都同时开发它各自负责的模块。

2025-02-27 21:30:58 1295 5

原创 网关和过滤器学习

当一个请求到达网关的时候,首先他会根据路径断言匹配对应的route,然后加载这个route下对应的filters,逐个遍历对应的过滤器,所以我们可以自定义一些过滤器添加到filters,比如我们要做登录校验功能,就是添加到这里。自定义全局过滤器类似,其实两者就是新建一个过滤器类,继承自带的过滤器类,在里面设置具体的过滤器规则,并在网关的yml里进行相应的配置,明白原理之后具体的细节问gpt即可。:路由过滤器,作用范围比较灵活,可以是任意指定的路由。:全局过滤器,作用范围是所有路由,不可配置。

2025-02-23 00:04:21 361

原创 简易java调用DeepSeek Api教程

第二个是Authorization,是身份验证信息,由Bearer + DeepSeek给你的Api Key 组成。role,表示说话的对象,有system(系统设置)、user(你)、assistant(Deepseek)实体类就是上面那两个,这样只要发送请求,参数是message,就可以获得一条返回的信息。第一个是Content-Type,也就是请求格式,是application/json。观察一下可以发现我们需要的是content内容,我们想获取就要。再获取choice的第一个属性,也就是那个对象。

2025-02-20 16:11:02 1311 1

原创 极简Docker理论知识

因为容器的文件系统是临时的,如果我们不用数据卷,直接修改容器的文件时,对于本次运行的容器来说是有作用的,但是由于它不会被持久化,一旦容器停止、删除或者重新运行,你之前的修改都白费,所以我们就用数据卷对容器的文件进行修改,如此你后面再次运行这个数据卷,它就会找到这个数据卷并再次把修改写进去。Docker Compose流程解析:当我把这个程序上传到docker时,它就是一个项目,启动Docker Compose,他会自动帮你完成构建镜像,启动容器,启动项目所需要的其他容器等操作。

2025-02-19 16:36:25 524

原创 vue笔记自用

本文为自用笔记,后续会不断改进。

2025-02-11 11:26:13 286

原创 TCP/IP 网络模型学习

功能是封装传输层的数据,分配ip地址,经过路由寻址确定数据包从源主机到目标主机的最佳路径并发送(或接收)数据包。⑤TCP基于字节流传输,UDP基于数据报,TCP的头更长(因为有偏移量等信息)的作用就是将应用层封装成报文,在首部添加信息,比如源端口号和目标端口号等等。会再加上一个Mac头部,封装成数据帧,帧可以在以太网、网线等物理层上传输。④TCP的传输开销较大,效率相对较低,UDP的传输效率更高,实时性更强。为用户提供应用功能和网络服务,负责处理应用程序的逻辑和数据交互。不多bb就是负责和用户的数据交互。

2025-01-20 17:32:09 317

原创 OpenFeign使用方法

本文为自己做的笔记,如果要看懂可能要一点基础。

2025-01-17 17:37:06 425

原创 常用日期类型

util.Date年月日时分秒 Fri Jan 03 10:59:51 CST 2025sql.Date年月日2025-01-03LocalDate年月日 2025-01-03LocalTime时分秒 10:59:51年月日时分秒 2025-01-03 10:59:51Calendar年月日时分秒 2025-01-03 10:59:51。

2025-01-03 16:22:41 1484

原创 java 公历转农历

奇怪的是程序编译没错,没爆红,是发送请求才会显示这个错误:这里表示没有正确导入这个com.nlf.calendar.Solar类,但是经过反复检查已经import,且测试程序可以正确运行。这是我的代码,完全参照他的格式进行测试(因为它转date类型会报错,我直接抄它的代码来测试总不会错吧?可以看到是可以正确执行的,solar是公历,输入具体的年月日,转换成lunar(农历)再用toString转换成String类型。数据库中有一个人员生日的属性,类型是date,现在要把它转成农历以String类型返回。

2025-01-02 11:04:24 601

原创 阿里云oss使用教程

上面这个upload方法用于图片上传功能,它的入参是MultipartFile文件数据,接收到文件后他会把文件上传到阿里云oss,然后根据阿里云oss的url命名规则获取对应的url,并把url作为反参。比如你开发网站有个文件上传功能,如果用户上传文件会存到你的服务器,但是服务器的容量是非常有限的,这时就可以接入阿里云oss,把文件上传到阿里云进行存储。5. 获取AccessKey,进入并创建AccessKey,他会自动生成一个accessKeyId和accessKeySecret给你,请妥善保存。

2024-12-30 17:38:41 2062

原创 @JsonFormat和@DateTimeFormat的区别

从前端接收 json 数据,转换成date类型装入实体类中(无论传给实体类的是datetime还是date类型,它都会转换成date类型)而数据库中的time字段是datetime类型,这里mybatis和jdbc会自动帮你转换成datetime类型,完成存储。场景介绍:数据库中的time属性是DateTime类型(有年月日时分秒),但是实体中对应的字段是Date类型(只有年月日),前端传入和要求返回的数据都是Date类型,怎么操作?反序列化:从前端接收到 json 数据,并将其转换成 java 对象。

2024-12-19 10:07:37 254

原创 mybatis分页查询和mybatis-plus分页查询

在这里,方法传参是查询条件和分页参数,在最终的selectPage方法,需要传两个参,一个是page对象(想办法把自己的查询条件转成这个),一个是wrapper查询条件,这个方法执行之后会把查询结果返回给page对象,比mybatis还是要简单很多的。分页查询无非就是查两个,一个是查询符合查询条件和分页条件的记录的详情,通常封装在一个List里并返回;简单来说,mybatis的分页查询就是在普通的查询上面加了分页参数,我们把分页参数读取出来,作为limit的参数放在最后即可。

2024-12-18 16:49:41 739

原创 npm create vue@latest 权限不足的解决方案

在nodejs文件夹下,还有三个文件夹 node_cache、node_global、node_modules。右键文件夹 -> 属性 -> 安全 -> 编辑 -> 让所有用户都获得全部权限。在创建vue3项目时会遇到EPERM的权限不足报错,要你用管理员权限。我用了之后还是会报错,仔细查看之后发现是权限不足以访问它下级的文件夹。这三个文件夹也需要修改它们的访问权限,让所有用户都有全部权限。要让node和npm的那些文件夹都赋予完全控制权才行。网上的方法大部分都是修改nodejs文件夹。

2024-12-16 11:02:26 431

原创 java实习日记(4)

方法1只能传1个参数,方法2可以传1个或多个,如果传多个参数,就要在controller的方法的参数前加上@RequestParam("xxx")接收对应的传参。2. @DeleteMapping("/search"),用查询参数传参,调试时在请求的query参数中填对应的参数,就会在查询时自动拼接到后面,比如。2. @GetMapping("/delete"),用查询参数,在请求的query参数中写对应的参数,就会在查询时自动拼接到后面,比如。看情况上面这里不要insert都可以。常用delete方法。

2024-11-30 14:42:10 353

原创 java实习日记(3)

这个的意思是让usermapper继承mbq的basemapper,获取basemapper自带的通用数据库方法,同时让usermapper和UserEntity的实体类绑定basemapper的方法会操作这个实体类。当我们使用basemapper自带的方法的时候,mapper.java层和mapper.xml层已经帮我们写好,不需要我们再写了,我们传参,传实体类,传wapper条件均可。让UserEntity和数据库的user表绑定,此时我们可以通过basemapper的方法操作user表的内容。

2024-11-29 11:35:06 624

原创 java实习日记(2)

是MyBatis-Plus 提供的一个的查询构造器,用于在数据库操作中动态构建查询条件。它提供了一个流式 API,使得用户能够通过方法链来生成复杂的 SQL 查询条件。// 添加AND username LIKE '%john%'queryWrapper.eq("status", "active") // 添加WHERE status = 'active'.lt("age", 30) // 添加AND age < 30。

2024-11-26 10:28:28 568

原创 idea文件夹新建层级目录的方法

鼠标移到选项 --> 外观 --> 把“压缩中间空的软件包”这项前面的 √ 去掉。然后我们把 √ 去掉,就可以了。

2024-11-24 22:38:58 500

原创 基本sql语句

部分插入,只插入部分属性值,其余默认为null。decimal(m,n)也是小数,m表示这个数总的位数,n表示小数点后的位数,如3.14则m为3,n为2。简单来说就是创建、删除要写,展示不用,当我们要修改表的结构的时候要写,只是修改里面的值不用。varchar会精确计算存储空间,因此更灵活,节省空间,但耗时更长,char一致性更优。如:表student有"id"、"name"列,表exam有"id","score"列。split(m,'_')拆分函数,将字符串拆分成字符数组,m是要拆的字符串,_是分隔符。

2024-11-24 18:02:42 634

原创 git如何使用及常见命令

修改分支的方法和主分支一样,就算add、commit、push、pull那套,但特点在于分支只会保存与main不一样的内容,如果分支和main的内容一样,无法提交。2. 下载代码仓库到本地,仓库地址是github中对应repository的SSH地址。11. 查看日志,找到对应的版本、修改的内容。4. 把修改提交到本地仓库,可以添加备注。3. 将添加的新文件或代码提交到暂存区。6. 将远程仓库的内容拉取到本地仓库。1. 在github中创建仓库。5. 把内容推送到远程仓库。通过git bash操作。

2024-11-24 12:06:39 282

原创 vue3安装及使用

1. 安装node.js 配置golbal、cache等文件夹,参考常见的其他教程(cmd窗口用管理员模式运行,避免因为权限不足而报错)npm install让项目下载对应的依赖,如果运行很久没反应,就说明镜像不行,上网换一个。去浏览器输入localhost:5173即可。6. 出现以下信息,说明创建项目成功。5. 按他的信息,依次运行三条命令。窗口会返回以下信息,按需选择。可安装nrm源管理工具。

2024-11-23 11:10:27 332

空空如也

空空如也

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

TA关注的人

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