自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【MySQL】MySQL复合查询--多表查询自连接子查询

查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的。显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号(包含自己部门的员工)单行子查询是指子查询只返回单列,单行数据;查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J。这里使用分组查询即可,先查出最高的工资,然后查询工资等于最高工资的员工的姓名和工作岗位。显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号。的,而多列子查询则是指查询返回多个列数据的子查询语句。

2025-03-22 15:44:18 951

原创 Spring全家桶简介

它的目标是简化Spring应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用的微服务功能,可以和spring cloud联合部署。也就是我们经常说的spring框架,包括了ioc依赖注入,Context上下文、bean管理、springmvc等众多功能模块,其它spring项目比如spring boot也会依赖spring框架。是一个数据访问及操作的工具集,封装了多种数据源的操作能力,包括:jdbc、Redis、MongoDB等。

2025-03-22 01:21:25 320

原创 SpringBoot事件监听器 @EventListener

在 Spring 框架中,@EventListener是一个用于处理应用程序事件的注解。它提供了一种方便的方式来监听和响应各种事件,使得代码可以基于事件驱动的方式进行架构。通过@EventListener注解,可以将一个方法标记为事件监听器,当对应的事件被发布时,该方法就会被自动调用。

2025-03-10 23:54:40 664

原创 Spring Cloud gateway 路由规则

匹配 /api/user/ 下的所有子路径,包括多级子路径,例如 /api/user/profile 和 /api/user/orders/123。作用:定义一组断言,用于决定请求是否匹配该路由。作用:定义一组过滤器,用于在请求转发前后对请求或响应进行修改。匹配 /api/user/ 后跟一个或多个数字的路径,例如 /api/user/123。匹配 /api/user/ 下的一级子路径,例如 /api/user/profile。匹配请求路径为 /api/user 的请求。

2025-03-10 17:55:21 1066

原创 Redis的安装教程(Windows+Linux)【超详细】

点这里Redis是开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构,例如 字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制,Lua脚本,LRU逐出,事务和不同级别的磁盘持久性,并通过以下方式提供高可用性:Redis Sentinel和Redis Cluster自动分区。您可以 对这些类型运行原子操作,例如追加到字符串;在哈希中增加值;将元素推送到列表;计算集的交, 并与差;或获得排序集中排名最高的成员。

2025-03-10 13:09:07 777

原创 PLC(电力载波通信)网络机制介绍

电力载波通讯即PLC,是英文Power line Carrier的简称。电力载波是电力系统特有的通信方式,电力载波通讯是指利用现有电力线,通过载波方式将模拟或数字信号进行高速传输的技术。最大特点是不需要重新架设网络,只要有电线,就能进行数据传递。**相位:**CCO在所有相线上工作,STA只在一个相线上工作,不同相位具有不同的过零时间,CCO通过采集STA的过零时间确定STA的相位TDMA**:**时分多址传输,设备独占间隙,数据包根据指定时间进行发送CSMA/CA。

2025-03-07 23:19:52 1086

原创 MySQL:drop、delete与truncate区别

DDL语句更多的被数据库管理员(DBA)所使用,一般的开发人员很少使用。truncate 和不带 where 子句的 delete、以及 drop 都会删除表内的数据,但是 truncate 和 delete 只删除数据不删除表的结构(定义),执行 drop 语句,此表的结构也会删除,也就是执行 drop 之后对应的表不复存在。2、truncate (清空数据) : truncate table 表名 ,只删除表中的数据,再插入数据的时候自增长 id 又从 1 开始,在清空表中数据的时候使用。

2025-03-05 19:34:31 479

原创 MySQL--》理解锁机制中的并发控制与优化策略

锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中除了传统的计算机资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源,如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素,从这个角度来说锁对数据库而已尤为重要也更加复杂。按照锁的粒度细分,对于MySQL中的锁主要分为以下三类:1)全局锁:锁定数据库中的所有表2)表级锁:每次操作锁住整张表3)行级锁:每次操作锁住对应的行数据。

2025-03-05 18:13:30 713

原创 java高级进阶知识整理

2.1(学习Java技术体系,设计模式,流行的框架与组件,常见的设计模式,编码必备,Spring5,做应用必不可少的最新框架,MyBatis,玩数据库必不可少的组件…链接:https://www.jianshu.com/p/08c8da8ffcd8。简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。网站从零到分布式架构演变与知识体系介绍。学会思维导图解读开源项目,积累经验。利用思维导图快速学习主流框架。正向代理与反向代理的区别。

2025-03-05 16:49:49 709

原创 Java语法进阶

一、Object类、常用API二、Collection、泛型三、List、Set、数据结构、Collections四、Map与斗地主案例五、异常、线程目标:1、说出进程的概念2、说出线程的概念3、能够理解并发与并行的区别4、能够开启新线程4.1 并发与并行4.2 线程与进程进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。进程:线程是进程

2025-03-05 01:39:51 985

原创 Duplicate entry for key ‘PRIMARY‘ 主键重复报错解决

先尝试插入数据,如果发现主键冲突(或唯一索引冲突),则执行update操作,而不是删除和重新插入(设想场景:批量导入数据,如果表格中已存在主键相同信息,则以表格中信息为准,然后更新表格中的一个标识等)INSERT IGNORE USER_INFO (ID, USER_NAME, ADDRESS) VALUES (1234, ‘小红’, ‘武汉’);INSERT INTO USER_INFO (ID, USER_NAME, ADDRESS) VALUES (1234, ‘小红’, ‘武汉’);

2025-03-05 00:22:22 457

原创 用户管理(MySQL)

如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户。set password for ‘用户名’@‘主机名’=password(‘新的密码’);host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆。这时,就需要使用MySQL的用户管理。*.* : 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)库.* : 表示某个数据库中的所有数据对象(表,视图,存储过程等)MySQL中的用户,都存储在系统数据库mysql的user表中。

2025-03-02 22:34:32 221

原创 将数据从MySQL迁移到Oracle

mysqldump -u [用户名] -p [数据库名] > backup.sql。

2025-03-02 21:15:30 600

原创 国产化-Tomcat替换——TongWeb的安装和使用

安装获取可能是以.bin结尾的可执行脚本如果是可执行脚本的话直接执行脚本就行本文主要描述绿色版的安装使用。

2025-03-02 19:56:32 250

原创 【Spring Boot】SpringBoot自动装配-Import

Import导入的类会被Spring加载到IOC容器中。而@Import提供4中用法:导入Bean导入配置类导入 ImportSelector 实现类。一般用于加载配置文件中的类导入 ImportBeanDefinitionRegistrar 实现类。@Import注解定义如下,其内部只有一个参数为Class对象数组Class<?

2025-02-28 23:50:31 600

原创 【Linux系统】计算机世界的基石:冯诺依曼架构与操作系统设计

CPU处理速度非常快,但是输入数据的速度相较于CPU的速度是非常慢的,这就导致了很多时候CPU都在等待数据的输入,严重浪费了CPU的性能,所以增加内存,让CPU直接跟内存交换数据,充分发挥CPU的性能。(内存输入输出的数据的速度是非常快的)总的来说,冯诺依曼体系结构让计算机保持一定处理速度的同时,降低了计算机的成本,使得计算机能够进入各家各户,为之后互联网的发展奠定了基础。系统调用的功能比较基础,对使用者要求较高,所以一部分开发者将系统调用的接口进行封装,从而形成了库,有利于开发者进行二次开发。

2025-02-28 22:12:24 638

原创 SQL自学:怎么创建视图

具体来说,选择了“customers”表中的“customer_name”(客户姓名)和“city”(客户所在城市),同时通过对“orders”表中的“order_id”进行计数(使用“COUNT(o.order_id)”并别名为“total_orders”)得到每个客户的订单总数,以及对“orders”表中的“total_amount”进行求和(使用“SUM(o.total_amount)”并别名为“total_amount”)得到每个客户的总金额。这个视图是基于名为“employees”的表创建的。

2025-02-28 13:09:54 563

原创 SpringCloud系列教程:微服务的未来 (五)枚举处理器、JSON处理器、分页插件实现

在现代 Java 开发中,我们常常需要处理各种通用的功能和需求,诸如枚举的处理、JSON 数据处理,以及分页查询等。这些功能虽然看似简单,但在实际开发中往往涉及到许多细节和优化。为了提高开发效率、减少重复代码的编写,我们通常会通过封装和抽象这些功能,形成易于复用和维护的工具类或组件。这篇博客中,我们详细介绍了如何实现并优化三个常见的功能处理器:枚举处理器、JSON 处理器和分页插件。这些技术的合理封装和应用,不仅能让我们的代码更加高效、简洁,还能有效地提升系统的可维护性。

2025-02-28 11:28:00 906

原创 SpringBoot3-整合WebSocket指南

WebSocket 是一种网络通信协议,提供全双工通信通道,使服务器可以主动向客户端推送数据。与传统的 HTTP 请求-响应模式不同,WebSocket 在建立连接后,允许服务器和客户端之间进行双向实时通信。建立在 TCP 协议之上与 HTTP 协议有良好的兼容性数据格式轻量,性能开销小可以发送文本和二进制数据没有同源限制,客户端可以与任意服务器通信/*** @create 2024/12/15 下午 08:21**/@Component@Slf4j。

2025-02-27 14:29:56 738

原创 Spring Boot拦截器(Interceptor)详解

拦截到这次请求之后,它会先执行放行前的逻辑,然后再执行放行操作。在拦截器当中,我们通常也是做一些通用性的操作,比如:我们可以通过拦截器来拦截前端发起的请求,将登录校验的逻辑全部编写在拦截器当中。方法,这个方法执行完成后需要返回一个布尔类型的值,如果返回true,就表示放行本次操作,才会继续访问controller中的方法;首先我们先来看拦截器的拦截路径的配置,在注册配置拦截器的时候,我们要指定拦截器的拦截路径,通过。能匹配/depts,/depts/1,/depts/1/2,不能匹配/emps/1。

2025-02-27 13:06:01 1086

原创 Redis之Redis事务

watch指令类似于乐观锁,在事务提交时,如果watch监控的多个KEY中任何KEY的值已经被其他客户端更改,则使用EXEC执行事务时,事务队列将不会被执行,同时返回Nullmulti-bulk应答以通知调用者事务执行失败。

2025-02-27 11:44:37 340

原创 Navicat连接SQL server出现:[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序(0)的解决方法

打开navicat安装目录,找到msodbcsql_32.msi(32位电脑)或msodbcsql_64.msi(64位电脑)双击运行下,然后重启navicat就可以连接了。打开navicat安装目录,找到sqlncli.msi(32位电脑)或sqlncli_x64.msi(64位电脑)双击运行下,然后重启navicat就可以连接了。以上方法双击运行后都是按照默认选择下一步安装就可以了。

2025-02-26 02:50:53 432

原创 Mysql不同官方版本对比

特性5.65.78.0企业版(最新)默认字符集latin1latin1utf8mb4utf8mb4JSON 支持无部分支持全面支持全面支持窗口函数无无支持支持安全性较低较高很高极高并行复制基础支持改进高效高效工具支持基本工具基本工具丰富工具企业级工具高可用性(集群)手动配置部分增强强(InnoDB 集群)企业级增强。

2025-02-26 01:30:08 378

原创 Java面试进阶指北

决定你面试能否成功的因素中实力固然占有很大一部分比例,但是如果你的心态或者说运气不好的话,依然无法拿到满意的 offer。运气暂且不谈,就拿心态来说,千万不要因为面试失败而气馁或者说怀疑自己的能力,面试失败之后多总结一下失败的原因,后面你就会发现自己会越来越强大。不难发现,近几年的面试难度越来越大,想要找到一份还不错的工作越来越难。都不要再准备高并发、高可用的面试题了啊!我觉得这种方法特别极端,而且在稍有一点经验的面试官面前是根本没有用的。技术面试不同于编程,编程厉害不代表技术面试就一定能过。

2025-02-25 22:09:05 327

原创 Java虚拟机面试问题

是被所有线程所共享的一块区域,其目的就是为了存储对象实例,所有的对象实例都存放在堆中,从垃圾回收的角度,由于现在的收集器基本都采用的是分代回收的算法,所以Java堆还可以被细分为新生代和老生代。和虚拟机栈的作用非常相似,但是其存在目的是为了本地方法而存在的,简单的说Java的Naive方法就是方法的实现是由非Java语言在外面实现的,是由Java调用非Java方法的一个接口。根据对象的存活周期将内存分为新生代和老年代,在新生代中对象大量死去少量存活,采用复制算法,老年代中存活率高,采用标记整理算法。

2025-02-24 23:51:32 110

原创 centos部署rabbitmq

要安装rabbitmq首先要安装erlang二者对应的版本如下,具体查看地址。

2025-02-24 16:50:33 559

原创 解决bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException

确保底层SQL与上层调用的代码都没有逻辑问题,所以“bad SQL grammar []”应该是由配置文件导致的,检查项目的。这种配置的使用对于一些特殊的SQL语句执行场景非常有帮助,但需要谨慎使用,确保SQL语句的合法性和安全性。在使用Spring Boot连接MySQL数据库时,有时候会遇到“Bad SQL Grammar”错误,这种错误通常在执行SQL语句时发生。本文针对的是对于执行多条SQL语句的情况。MySQL连接配置中有一些常用的参数,这些参数可以在数据库连接字符串(URL)中进行配置。

2025-02-23 06:47:56 609

原创 携程java面试题_2020携程java面试题整理,开发实习一面面经

看了老半天都没想明白,后来我给他解释了一下思路,之后,他说相同了,然后说没有问题)这个问题,我自己也没有遇到过,但是,我想起了1.8是cas+synchronize的源码,所以,我说第一个应该不加锁,先cas一波,貌似被我猜对了。首先做了一下自我介绍,稍微的和面试官介绍了一下自己,谈了一些人生方面的事情,之后就正式开始进入面试题部分了。一些基础的问题没有怎么问,项目方面的也没怎么问,就只是手撕了两道代码。首先我是211本硕,平时主要用的是C/C++,然后,自学了半年左右的java,这个是一面。

2025-02-23 05:02:25 156

原创 大厂最全1100道Java面试题及答案整理(2023最新版)

春招,秋招,社招,我们 Java 程序员的面试之路,是挺难的,过了 HR,还得被技术面,小刀在去各个厂面试的时候,经常是通宵睡不着觉,头发都脱了一大把,还好最终侥幸能够入职一个独角兽公司,安稳从事喜欢的工作至今…近期也算是抽取出大部分休息的时间,为大家准备了一份通往大厂面试的小捷径,准备了一整套 Java 复习面试的刷题以及答案,我知道很多同学不知道怎么复习,不知道学习过程中哪些才是重点,其实,你们经历过的事情,小马也经历过,正应为经历过,所以不愿意看到还有万千学子为此伤神,也许这篇文章帮不到万千学子,

2025-02-22 04:21:11 913

原创 sql实战解析-sum()over(partition by xx order by xx)

3、sum( )over( partition by xx order by xx) 在 sum( )over( order by xx) 基础之上,增加一个分组动作,所有的计算都在分组内生效,即在每个分区内,进行sum( )over( order by xx) 的操作。sum( c )over( partition by a order by b) 按照一定规则汇总c的值,具体规则为以a分组,每组内按照b进行排序,汇总第一行至当前行的c的加和值。1、sum( )over( ) 对所有行进行求和。

2025-02-21 22:41:38 234

原创 SpringBoot项目报错解决:“Error starting ApplicationContext. To display the conditions report re-run ...”

1.我先看了配置错误:可能是 application.properties 或 application.yml 文件中的配置项有 误的原因吧 (我发现并没有什么错误)3.Bean 初始化异常:某个 Bean 的初始化过程中抛出了异常 , 我这还报一个错误将xxxBean to String (一头雾水…2. 依赖冲突:项目依赖的库之间难道存在版本依赖冲突吗 没有 pass。6.刚开始我怀疑是jdk问题 (这个bug我遇到的少)翻着mybatisplus官方文档发现我的依赖是。改成下面这个就好使了。

2025-02-21 17:42:23 384

原创 SpringBoot Configuration Annotation Processor not configured 解决方案和详细问题分析以及作用

写在前:笔者出现这个问题的时候,大概猜到是什么问题,在网上也是很快找到了解决方案,但是很多帖子,并没有深究,只是单纯的解决了问题。

2025-02-21 15:48:54 753

原创 Spring Boot 3.x 引入springdoc-openapi (内置Swagger UI、webmvc-api)

给我的启发,

2025-02-21 02:41:38 1074

原创 Postgresql的三种备份方式_postgresql备份

pg_dump只备份数据库集群中的某个数据库的数据,它不会导出角色和表空间相关的信息,因为这些信息是整个数据库集群共用的,不属于某个单独的数据库。把这个标志设置为true后,如果在备份期间时有其他事务修改数据库,那么系统会把被修改的数据页在修改前的完整页面都记录到WAL中,而不仅仅是记录页面中的变化的部分。当需要恢复时,我们先恢复文件系统级别的备份,然后重放备份的WAL文件,把系统恢复到之前的某个状态。假如你的数据库出现了故障,需要恢复到之前的某个时刻的一致的状态,就需要进行基于时间点的恢复。

2025-02-21 01:20:32 906

原创 nginx http 499,其实没有很可怕

499是由于nginx响应完成前客户端就断开了连接导致的,排查原因一般从客户端网络状态,超时时间以及服务端的响应时间来排查。常见的业务场景下,少量的499其实不需要过多的关注。proxy_ignore_client_abort可以忽略499,但不是解决方法,不建议大家开启。没有证据能证明快速post导致nginx499,这个应该是谣传。

2025-02-20 22:59:01 1375

原创 使用Springboot + netty 打造聊天服务(一)

Override// 处理收到的消息@Override在文章里,我们实现了Springboot 集成netty,并使用apiFox客户端发送了消息到netty服务,最终客户端收到服务端的应答。下一章节,我们讲解解码器的使用,使得我们的数据可以可视化,以及正常的展示。

2025-02-16 10:23:28 842 1

原创 【数据库】国产达梦数据库与mysql特点、区别、发展前景

国产达梦数据库是中国大陆自主研发的企业级关系型数据库管理系统(RDBMS),由达梦软件公司(DmSoftware)开发。它旨在为企业级用户提供可靠、高性能、安全的数据库解决方案,并在国内企业级数据库市场中占据一定份额。达梦数据库在处理大规模数据和高并发访问时具有优秀的性能表现,能够满足企业级应用的需求。提供了多层次的安全保障措施,包括权限管理、数据加密、安全审计等功能,保障用户数据的安全性和完整性。达梦数据库支持分布式数据库架构,能够灵活扩展以适应不断增长的数据规模和用户需求。

2025-02-16 01:26:49 877

原创 【Redis】Redis 数据库 安装、配置、访问 ( Redis 简介 下载 Redis 安装包 安装 Redis 数据库 命令行

Redis 非关系型数据库简介 :Redis 数据库中存储的数据 是以 键值对 的形式 进行存储的;该数据库支持各种 Value 值类型 , 包括 String 字符串 , List 链表集合 , Set 不重复集合 , Zset 有序集合 , Hash 哈希类型;Redis 数据库中的 数据都存储在内存中 , 这样可以保证效率;同时还会 每隔 一定周期 自动将数据 保存到 本地硬盘 中 , 将更新的内容 或 追加操作 更新进去即可;Redis 数据库的操作都是 原子性 Atomicity 的;

2025-02-15 23:09:45 689

原创 【JAVA篇】------ spring aop

AOP(面向切面编程)是一种通过分离横切关注点(如日志、事务、安全等)来增强程序模块化的编程范式。在Java中,AOP通常通过Spring等框架实现,通过切面将附加功能插入到业务逻辑中,减少代码冗余,提高可维护性。本文我们主要来介绍AOP在找中介租房的场景中,可以使用代理模式来实现相关功能。这个场景涉及到租房接口、被代理对象(房东)、代理对象(中介)以及调用者(租客)。同时,探讨静态代理模式和动态代理模式(JDK动态代理)的实现及其优缺点。

2025-02-15 21:49:20 456

原创 SQL多行数据合并到一行中的一个字段

在SQL中,将多行数据转换为一行数据通常涉及到使用聚合函数和字符串函数。这种转换在数据库中被称为“行转列”或“透视”操作。

2025-02-15 20:18:08 551

《Java全套学习资料》持续更新中

大厂工作经验8年的Java后端程序员 Java面试突击 | 视频讲解+面试资料 助你面试逆袭成功! 资料内容: - 视频讲解:深入浅出的Java知识解析,快速掌握要点 - 面试资料:精选面试题目和详细解答,全面提升面试技能 获取全套Java学习资源,助你在面试中脱颖而出,快速迈向职业新高峰!

2024-08-28

空空如也

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

TA关注的人

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