自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL出现Waiting for table metadata lock的原因以及解决方法(已亲测)

这很可能是因为在一个显式的事务中,对TableA进行了一个失败的操作(比如查询了一个不存在的字段),这时事务没有开始,但是失败语句获取到的锁依然有效,没有释放。当对表执行truncatedrop 操作时,会出现一直处于等待的状态,通过show processlist可以看到TableA停滞在Waiting for table metadata lock的状态。kill 进程号之后,重新进行truncate还是出现等待状态,通过 select * from。表中可以查到失败的语句。

2026-02-15 08:44:57 68

原创 MySQL 数据增删改查

PS:连接查询涉及到两个表以上,在查询的时候至少要有一个必备的连接条件,这个必备的条件就是两个表共有的那个字段相等,而且这个字段一定在一个表里是主键,在另一个表里是外健。PS:左连接和右连接就是分别以表1和表2为基表,返回左(右)表中所有记录及连接表中符合条件的记录的外连接。PS:ASC是降序,DESC是升序,在不写明是ASC还是DESC的情况下,默认是ASC降序。连接查询是将多张表中记录按照指定的条件进行连接的查询方式。定义:子查询是在一个查询的内部包括另一个查询的查询方式。如何查看班级同学的平均身高?

2026-02-15 06:57:49 604

原创 Linux下安装Nginx服务及systemctl方式管理nginx详情

将下载好的nginx压缩包上传至刚才所建的目录中/usr/local/nginx(我习惯用CRT这个工具,大家可以根据自己的喜好)------[也可以在此目录下直接下载使用(确保安装了wget 没有安装可以 yum install -y wget 下载一个)在linux中进入上传nginx的文件夹/usr/local/nginx并解压。命令将编译完成的程序和相关文件复制到系统的适当位置,使其可以被系统和用户访问。),更具自己想要的版本下载相应的tar.gz包。下载完成后解压就可以了]------

2026-02-15 05:12:22 394

原创 Java基础进阶-水仙花数

第三步:进行求和判断是否满足条件,满足就输出当前水仙花数,此时计数器计数一次,最后输出总个数。水仙花数是定义范围100-999,满足每个位上的数子的3次方相加和等于这个数。取出当前数字的个位,十位,百位上的数字。功能:求水仙花数,打印并统计总个数。第一步:循环遍历数据范围。

2026-02-15 03:27:01 25

原创 Django视图与URLs路由详解

在本系列文章中,我们从多方面详细探讨了在Django中设置和使用视图、URL路由以及测试和调试的技巧。正确的路由配置对于网站结构的清晰性和用户体验都是至关重要的。我们也介绍了如何通过编写单元测试和集成测试来保证代码质量,以及如何使用Django的调试工具来识别和解决代码中的问题。希望这些内容能够帮助您更好地理解和利用Django的强大功能,为您的应用构建一个安全、高效且易于维护的后端系统。无论是正在开发一个小项目还是大型应用,掌握这些基本的技术都是成功开发的关键。

2026-02-15 01:41:38 358

原创 快速在本地运行SpringBoot项目的流程介绍

本篇文字的内容可能十分小众,主要针对于有其他人的开源的SpringBoot项目,需要在本地上运行的uu,会给大家介绍一下SpringBoot项目启动的流程,以及我初次接触SpringBoot项目启动时遇到的问题。没错,我就经历了这个很小众的过程。虽然一般这种项目都会带有.md文件,但是毕竟是人家的开源项目,.md文件只会告诉你大致的流程,不会手把手教你,对于没有基础,但又由于某些原因需要运行SpringBoot项目的uu来说,那可太折磨人了,一点点的小问题就可能会折磨你好久。话不多说,进入正题。

2026-02-14 09:42:11 735

原创 在Mysql环境下对数据进行增删改查

右外连接:select 字段 from 表名1 right join 表名2 on 两个表连接的条件 [where 条件];左外连接:select 字段 from 表名1 left join 表名2 on 两个表连接的条件 [where 条件];隐式内连接:select 字段 from 表名1,表名2 where 两个表连接的条件 [and 其他查询的条件];------------根据条件进行删除表里的数据。----------% _---------清空表里的数据,但表仍然存在,而且不能加条件。

2026-02-13 21:28:10 339

原创 使用Django Rest Framework构建API

在本指南中,我们深入探讨了使用Django Rest Framework (DRF) 构建Web API的五个关键步骤:环境设置、数据序列化、视图与路由配置、安全性和权限设置、以及测试和文档生成。每一步都是构建强大、安全且易于维护的API的关键组成部分。环境设置确保了您的项目有正确的基础架构。数据序列化是处理数据输入输出的核心,关系到数据的标准化和国际化。视图与路由配置定义了API的行为和URL结构,直接影响到API的用户友好度和可扩展性。安全性和权限。

2026-02-12 02:12:21 631

原创 springcloud-eureka与gateway简易搭建

启动服务后,可通过eureka提供的web控制台查看服务注册状态。启动服务,可以看到已经成功注册到eureka上。至此eureka已经部署完成。

2026-02-12 01:25:55 379

原创 【SpringBoot】SpringBoot中分页插件(PageHelper)的使用

接受请求,请求数据=页码+每页数量+查询条件(非必须)调用业务层完成分页查询将结果响应给前端调用PageHelper中的 startPage(参数页码,每页数量) 方法,然后返回一个Page对象。调用数据层完成分页查询直接用Page对象中的方法封装结果(数据+数量)返回给controller层直接动态SQL拼接带查询条件的查询(SQL语句中不用使用limit)【原理介绍】流程其实是一样的,只是该插件在内部封装了一些方法供我们使用。

2026-02-11 03:10:21 299

原创 【MySQL】MySQL数据库中密码加密和查询的解决方案

【代码】【MySQL】MySQL数据库中密码加密和查询的解决方案。

2026-02-11 00:50:05 311

原创 Webpack、Vite区别知多少?

相反,Vite只需要对源码进行预编译和打包,将每个模块作为一个独立的文件进行加载,这样在开发过程中的冷启动时间更快。,它可以将各种类型的文件,如JavaScript、CSS、图片等,作为模块进行打包,并生成最终的静态资源文件。,它利用浏览器原生的ES模块机制,将每个模块作为一个独立的请求来加载,而不是像Webpack那样把所有模块打包成一个文件。,因为需要将所有的模块进行打包。Vite通过利用ES模块的特性,在开发过程中仅对需要的模块进行编译和构建,从而提升了开发服务器的启动速度。

2026-02-10 03:15:44 327

原创 SQL Server导出和导入可选的数据库表和数据,以sql脚本形式

3. 如果只需要导出部分表,则选择第二项**“选择具体的数据库对象(Select specific database objects)”**,并勾选表;1. 打开SQL Server Management Studio,在需要导出表的数据库上单击右键 → 任务 → 生成脚本。1. 如果导出的脚本文件较小,可以直接双击文件,在SQL Server Management Studio里执行。如果同时需要导出表结构和数据,就从右上角的**“高级(Advanced)”5. 之后,连续点击下一步,直到完成。

2026-02-10 00:55:22 397

原创 SpringBoot中整合ONLYOFFICE在线编辑

文件的在线编辑主要就是依托与onlyoffice实现的,而编辑器的配置是通过我们的接口来定义的,接口中的配置可以自由的定义编辑器的文件类型,窗口大小,文件来源,回调地址,保存类型等等。你需要编辑的文件可以放在任意的位置,只要你的接口可以通过流的方式给到onlyofiice编辑器即可。文件编辑后的处理都是在回调中处理的,最好先看一下文档的回调写法。回调的时候记得打印日志,观察一下接口的内容,一定要记得是通过回调中的url参数来获取编辑后的文件流的,并不是通过回调接口直接把文件流给到你。

2026-02-09 22:19:31 611

原创 Linux 下安装 Golang环境

原文链接:https://blog.csdn.net/super_xyo/article/details/128210788。go modules 模式下,可以不配置GOPATH,默认【/root/go】国内镜像官网:https://golang.google.cn/如果之前已经安装过go的版本,先清空下go,不然可能会报错误。6. 查看golang版本,测试是否配置成功。标准官网:https://go.dev/Linux 下安装 Golang。获取Golang下载地址。获取Golang下载地址。

2026-02-09 17:00:39 48

原创 Spring Cloud GateWay搭建

注册中心,常用的有:Eureka、Consul、Zookeeper、Nacos,此处要明白一点是注册中心本身就是一个服务,所以对注册中心而言,不仅仅局限于java编写的,也存在于是其他语言编写,本质是一个server软件,只需要满足注册中心的功能即可。注册中心服务已启动完毕,接下来启动两个微服务作为注册中的client。针对两个服务各自创建两个控制层接口,顺便在配置文件中定义下服务的请求上下文路径。简单搭建一个,有注册中心,两个微服务,一个网关的组成的微服务架构。此时证明我们的注册中心服务以启动完毕!

2026-02-08 05:21:48 331

原创 Nginx 生成、配置SSL证书&让浏览器信任证书

注:-extfile private.ext -extensions SAN 是指告诉OpenSSL从private.ext文件中读取[SAN]下扩展的定义,并将其应用到正在生成的证书中。下面 以上文 “模拟CA机构方式生成证书(生成证书方式二,推荐)” 方式安装CA证书到本地,让浏览器信任证书。注:在访问网站使用的IP或者域名,必须是 subjectAltName 下指定的域名或者IP。正常情况下,用浏览器访问自签名的证书网站,那么浏览器会提示当前网站不安全,证书不受信任。安装证书,让浏览器信任证书。

2026-02-08 03:04:37 371

原创 rust web框架actix和axum比较

Axum 和 Actix Web 在性能上的差距通常可以忽略,尤其是在现代硬件和典型的 Web 服务负载下。不过,如果你需要处理极端高并发场景(如每秒上百万次请求),Actix Web 可能会表现得更好。而对于需要极致性能或已有 Actix 经验的团队,Actix Web 更加适合。,但在大多数应用场景中,这种差距不会成为决定因素。选择框架时,更应该关注团队对框架的熟悉程度以及项目的复杂性和扩展需求。语法现代化,易学易用,Rust 风格清晰。模型,独立线程池,适合复杂任务。易用,设计现代化,快速搭建服务。

2026-02-07 03:10:01 307

原创 RabbitMQ介绍以及基本使用

消息队列是一种用于在分布式系统中进行通信的技术。它是一种存储和转发消息的中间件,可以用于将应用程序之间的通信解耦,从而实现高效的异步通信。消息队列允许发送者将消息发送到队列中,而接收者则可以从队列中获取消息并进行处理。这种方式可以帮助系统实现高可用性、高性能、松耦合和可伸缩性。消息队列通常包括生产者(发送消息的应用程序)、消费者(接收消息的应用程序)和队列(存储消息的缓冲区)。RabbitMQ:是由erlang语言开发,基于AMQP(高级消息队列协议)协议实现的一种消息队列。市面。

2026-02-07 01:18:00 284

原创 MySQL事件功能简介

MySQL 事件调度器是一种内置的定时任务机制,允许用户在指定的时间或周期内自动执行 SQL 语句。它类似于操作系统中的 cron 作业或 Windows 任务计划程序,但专门用于数据库内部的任务管理。定期数据备份:自动将重要数据备份到指定表或文件中。数据清理:定时删除过期或不再需要的数据,保持数据库的整洁。报告生成:按周期生成业务报表,方便分析和决策。自动化任务:执行重复性高、易出错的手动操作,提高工作效率和准确性。

2026-02-06 02:44:54 231

原创 MySQL 导出数据

在数据库管理中,导出数据是一个常见的操作,它允许用户将数据库中的数据保存到本地文件中,以便进行备份、迁移或数据分析。本文将详细介绍如何使用 MySQL 导出数据,包括使用命令行工具、图形界面工具和编程语言。是 MySQL 自带的一个命令行工具,用于备份或导出数据库。它可以导出整个数据库、单个表或特定表的结构和数据。MySQL Workbench 是官方提供的图形界面工具,它提供了直观的界面来管理 MySQL 数据库。Python 的 MySQL 连接器库可以用来连接 MySQL 数据库并导出数据。

2026-02-06 01:35:51 380

原创 Java进阶-思维导图

2026-02-05 09:07:10 50

原创 Docker部署Spring Boot + Vue项目

本文的Spring Boot + Vue项目采用若依前后端分离版项目为例,使用Docker部署项目,当然读者如果使用自己的Spring Boot + Vue项目也可以,Docker部署方法一样。

2026-02-05 01:48:39 277

原创 基于Spring Cloud的电商系统设计与实现——用户与商品模块的研究(下)

(1)在dao包的GoodsDao接口中,添加查询所有商品信息的方法、根据id查询商品方法(2)在resources下的mapper包中的GoodsMapper.xml文件中配置商品查询接口(3)在controller包中的GoodsController类中添加查询接口基于Spring Cloud的电商系统在用户与商品模块的设计与实现中,注重了系统的安全性、灵活性和用户体验。通过微服务架构,系统不仅能够支持高并发请求,还能方便地进行功能扩展。

2026-02-04 22:22:07 564

原创 从 SQL 语句到数据库操作

在 MySQL 中创建一个新的数据库时,会在文件系统上为该数据库创建一个对应的目录。这个数据库通常包含了与该数据库相关的、所有表的数据文件、索引文件、以及其它文件。: 用于定义或修改数据库中的结构,如:创建、修改、删除数据库对象。删除表中的一个字段时,该字段及其对应的所有数据都将被永久删除。不同的存储引擎可能会以不同的方式组织这些文件。: 用于添加、删除、更新数据库中的数据。

2026-02-04 21:14:17 505

原创 【Spring Boot 实现 PDF 导出】

选择 iText如果你需要生成复杂的PDF文档,尤其是涉及到安全性和高级功能的企业级应用。iText 提供了最全面的功能和最佳的性能,但需要注意其商业许可要求。选择 Apache PDFBox如果你希望保持完全开源,并且只需要生成简单的PDF文档。PDFBox 轻量级且易于上手,适合小型项目或对性能要求不高的场景。选择 JasperReports如果你需要生成复杂的报表,特别是涉及到分组、图表、子报表等功能。JasperReports 是一个功能强大且成熟的工具,适合企业级应用。

2026-02-03 03:39:55 325

原创 [golang][MAC]Go环境搭建+VsCode配置

工欲利其事,必先利其器”,VsCode开源(free),且安装方便,因此这里记录一下vscode go开发相关配置。请先自行前往vscode官方进行下载并安装。8、现在可以在之前配置gopath的路径下创建自己的项目,进行go语言学习及开发了。3、打开GOPATH所在的src目录,创建工程,即可开始go语言的。,完成对go环境变量的配置并生效(输入没有提示)2、打开压缩包,根据引导一路下一步安装。1、在插件中搜索go,点击。,按照如下配置选择,点击。有如下提示,即安装成功。,退出编辑模式,输入。

2026-02-03 01:25:48 365

原创 sql专题 之 sql的执行顺序

存储与生成:虚拟表通常不存储实际数据,而是基于其他表或查询动态生成;结果集是查询执行后实际返回的数据集合。持久性虚拟表可以存储在数据库中供后续查询重用结果集通常是临时的,一旦查询完成就会被释放。用途虚拟表常用于简化复杂查询、提高查询可读性和可维护性;结果集则是查询执行后的直接输出,用于数据处理和展示。

2026-02-02 02:25:34 569

原创 springboot项目读取 resources 目录下的文件的9种方式

案例: 模拟springboot 装配bean。

2026-02-02 01:10:26 309

原创 Spring Boot实时推送技术详解:三个经典案例

id: ID!实现Resolver:处理GraphQL查询和订阅请求。@Component// 模拟消息发布});前端处理:前端使用GraphQL客户端订阅新消息,并处理接收到的数据。GraphQL订阅的优势在于能够精确请求所需数据,并且能够在数据变化时实时推送更新。本文介绍了三种使用Spring Boot实现实时消息推送的方法:长轮询、WebSocket和GraphQL订阅。每种方法都有其独特的优势和适用场景。

2026-02-01 01:59:05 257

原创 redis连接服务

要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前下载的的 redis 的安装包中。以下实例演示了如何连接到主机为 127.0.0.1,端口为 6379 ,密码为 mypass 的 redis 服务上。如果需要在远程 redis 服务上执行命令,同样我们使用的也是。在以上实例中我们连接到本地的 redis 服务并执行。Redis 命令用于在 redis 服务上执行操作。命令,该命令用于检测 redis 服务是否启动。,该命令会连接本地的 redis 服务。

2026-02-01 00:39:13 347

原创 Redis 6.2.7安装配置

下载地址:https://download.redis.io/releases/redis-6.2.7.tar.gz。进入压缩包src目录下进行源码编译,将redis安装到。Redis-6.2.7下载。创建 redis 命令链接。移动配置文件到安装目录下。

2026-01-31 23:37:29 60

原创 Node.js看我的就行了!!!

最近nodejs崩了好多次,所以我决定重装。由于没有卸载干净,折腾了我两天#终于,我今天下午装好了我们从卸载开始(没有安装的小伙伴直接到第二步)

2026-01-31 22:01:51 658

原创 MySQL -- 约束

主要的作用是保证数据的有效性,也可以理解为数据的正确性(数据本身是否正确,关联关系是否正确) **人工检查数据的完整性工作量非常大,在数据库中定义一些约束,那么数据在写入数据库的时候,就会帮我们做一些校验.**并且约束一般是在指定列上创建的.

2026-01-30 00:30:36 568

原创 Java进阶之多线程

(2)synchronized方法控制对“对象”的访问,每个对象对应一把锁,每个synchronized方法都必须获得调用该方法的对象的锁才能执行,否则线程会阻塞,方法一旦执行,就独占该锁,直到该方法返回才释放锁,后面被阻塞的线程才能获得这个锁,继续执行。如果是模拟出来的多线程,即在一个cpu的情况下,在同一时间点,cpu只能执行一个代码,因为切换的很快,所以就有同时执行的错觉。线程同步:就是一种等待机制,多个需要同时访问此对象是线程进入这个对象的等待池形成队列,等待前面线程使用完毕,下一个线程在使用。

2026-01-29 14:03:28 811

原创 GO和kEGG富集分析

GO(Gene Ontology,基因本体)富集和 KEGG(Kyoto Encyclopedia of Genes and Genomes,京都基因与基因组百科全书)富集分析能够从不同角度揭示基因的功能和生物学意义图片很多,这里就不再一一展示了,有兴趣的朋友可以自己常以跑一下,了解一下它们之间的区别,需要数据的话私我领取!!!

2026-01-28 22:47:13 318

原创 docker compose安装redis

在上一步创建的redis配置文件目录(/data/redis6.2.14/conf)下,创建redis.conf配置文件,启动时,会将这个配置文件挂载到容器中。下载到本地,打开压缩包,将如下的配置文件拷贝到出来,放到部署服务器创建的配置文件目录里面。连接测试有两种方式,第一种:直接用外部的工具进行连接。第二种,进入容器内部,通过redis自带的客户端进行连接。进入docker内部,通过redis自带的redis-cli工具进行验证。执行完以上,两个命令,即可通过ll查看目录,已经存在。redis启动成功。

2026-01-28 22:21:12 805

原创 SpringBoot实战:高效实现API限流策略

你可以创建一个全局异常处理器来捕获// 你可以在这里添加其他异常处理器的定义这样,当限流器阻止请求时,客户端将收到一个带有状态码的响应。

2026-01-27 23:31:04 888

空空如也

空空如也

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

TA关注的人

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