- 博客(49)
- 收藏
- 关注

原创 RocketMQ集成SpringBoot与使用
本文主要介绍RocketMQ如何集成SpringBoot,以及RocketMQ的各项配置作用介绍,以及应用场景;
2025-03-27 14:15:14
1297

原创 RocketMQ以及Spring Cloud Stream的介绍
Spring Cloud Stream是一个构建消息驱动微服务的框架,解决了开发人员无感知使用消息中间件的问题。通过进一步封装消息中间件,Spring Cloud Stream实现了代码层面对消息中间件的无感知,甚至可以动态切换中间件(如RabbitMQ切换为RocketMQ或Kafka),使微服务开发更加解耦,服务可以更专注于自身业务流程。
2025-03-27 10:09:33
652

原创 数据库如何分库分表
一、前言中大型项目中,一旦遇到数据量比较大,小伙伴应该都知道就应该对数据进行拆分了。有垂直和水平两种。垂直拆分比较简单,也就是本来一个数据库,数据量大之后,从业务角度进行拆分多个库。如下图,独立的拆分出订单库和用户库。水平拆分的概念,是同一个业务数据量大之后,进行水平拆分。上图中订单数据达到了4000万,我们也知道mysql单表存储量推荐是百万级,如果不进行处理,mysql单表数据太大,会导致性能变慢。使用方案可以参考数据进行水平拆分。把4000万数据拆分4张表或者更多。当然也可以分库,
2021-09-02 14:57:45
215

原创 MyBatis-Plus AR模式深度解析:告别冗余DAO层
MyBatis-Plus 的 AR(Active Record)模式是一种面向对象的数据库操作模式,通过实体类直接进行 CRUD 操作,简化了开发流程。
2019-07-11 17:12:22
1683
1

原创 MyBatis-Plus 条件构造器(Wrapper)使用指南
条件构造器(Wrapper)是 MyBatis-Plus 框架中用于动态构建 SQL 条件的核心工具类,通过链式编程方式实现复杂查询条件的组合。其主要作用包括:替代传统 XML 中的动态 SQL 标签提供类型安全的条件构建方式支持 Lambda 表达式语法实现复杂的 AND/OR 条件组合注意:MyBatis-Plus 3.x+ 版本已弃用
2019-07-11 17:04:47
11401
1

原创 FastExcel实现Excel文件读写以及模板填充(Java)
通过@Data@ExcelProperty("编号")@ExcelProperty("姓名")@ExcelProperty("年龄")@Override// 在创建单元格之前的操作(如果需要)@Override// 设置表头样式} else {@Override// 准备数据users.add(new User("张三", 25, "zhangsan@example.com"));
2019-07-08 09:58:00
6390
1

原创 使用 scp 在 Linux 服务器之间传输文件
(Secure Copy Protocol)是一个基于 SSH 的安全文件传输工具,用于在 Linux 服务器之间传输文件。通过上述方法,你可以安全地在 Linux 服务器之间传输文件。如果远程服务器的 SSH 服务不是默认的 22 端口,可以使用。如果使用了防火墙,确保防火墙允许 SSH 连接。如果传输的是目录,确保有读取和写入权限。检查防火墙设置,确保允许 SSH 连接。确保使用的用户有权限访问这些文件和目录。:指定 SSH 连接时使用的密钥文件。如果使用 SSH 密钥认证,可以使用。
2018-09-29 11:27:16
1751
1
原创 MyBatis-Plus LambdaQuery 高级用法:JSON 路径查询与条件拼接的全场景解析
自定义的 JSON 类型处理器需要继承或等内置类型处理器,并实现相关方法。示例代码@MappedTypes({Object.class}) // 指定支持的 Java 类型@MappedJdbcTypes(JdbcType.VARCHAR) // 指定对应的 JDBC 类型@Overridetry {@Overridetry {在实体类中,通过注解指定自定义的类型处理器。示例代码假设有一个User实体类,其中info@Data。
2025-06-04 17:24:25
726
原创 MySQL JSON 查询中的对象与数组技巧
MySQL中JSON查询方法详解:介绍JSON对象和数组的三种查询方式。对于JSON对象,可使用JSON_CONTAINS检查包含值、JSON_EXTRACT提取路径值、JSON_TABLE转换表格;对于JSON数组,同样适用这三种方法,但JSON_CONTAINS检查元素包含,JSON_EXTRACT提取索引值。文章还提供了包含WHERE条件的查询示例,如筛选JSON对象中的特定属性值或数组中的特定元素,展示了如何通过提取和比较JSON数据进行条件过滤。
2025-06-04 15:17:13
694
原创 MySQL 自增 ID 达到上限,如何巧妙化解危机
文章摘要:为了解决数据库ID耗尽问题,提供了多种解决方案:1)将INT改为BIGINT扩展范围;2)使用UUID替代自增ID;3)采用分段ID生成策略;4)使用合成主键组合多列;5)调整自增步长和偏移量;6)通过数据库分片分布数据;7)重置自增ID起始值;8)使用分布式ID生成器如Snowflake算法。每种方案各有优缺点,需根据实际系统需求选择最合适的方案来确保数据唯一性和系统可扩展性。
2025-05-28 15:50:22
479
原创 Windows系统下 NVM 安装 Node.js 及版本切换实战指南
本文详细介绍了在Windows11系统下使用NVM(Node Version Manager)安装和管理Node.js版本的方法。主要内容包括:1)卸载旧版Node.js并安装NVM;2)配置镜像源加速下载;3)通过NVM安装多个Node.js版本;4)实现版本切换和设置默认版本;5)项目级版本管理方法;6)常用命令和注意事项。文中还提供了常见问题解决方案和实操示例,帮助开发者轻松实现Node.js版本的自由切换和管理。
2025-05-27 21:29:35
1047
原创 EasyExcel导出工具类
本文介绍了使用EasyExcel实现Excel导出的方法。首先通过Maven引入easyexcel-core依赖;然后创建工具类EasyExcelUtil,提供两种导出方式:1)根据实体类自动生成表头,2)自定义表头数据。工具类处理了HTTP响应头设置和编码转换。示例展示了两种调用方式:1)使用实体类导出评价汇总数据;2)动态生成排行表头和内容数据,动态表头通过遍历勋章详情列表构建,动态数据则关联排名、姓名、岗位和勋章数量等信息。该方法支持灵活配置Excel导出内容和格式。
2025-05-27 11:01:04
298
原创 Spring Boot整合Kafka实战指南:从环境搭建到消息处理全解析
本文介绍了如何在Spring Boot项目中集成Kafka,并实现消息的生产与消费。首先,从Apache Kafka官网下载并启动Kafka,创建主题。接着,在Spring Boot项目中添加Kafka依赖,并在application.yml中配置Kafka的基本参数,如服务器地址、消费者组ID、序列化器等。然后,通过KafkaTemplate实现生产者发送消息,使用@KafkaListener注解实现消费者接收消息。此外,还介绍了Kafka的高级用法,包括自定义分区策略、序列化与反序列化、消费者并发处理、
2025-05-12 15:54:22
1095
原创 Spring Boot集成RabbitMQ高级篇:可靠性与性能提升
本文详细介绍了如何在Spring Boot项目中整合RabbitMQ,实现消息的发送和接收。首先,通过官网下载并安装RabbitMQ,启动服务后可通过管理界面查看队列和交换机信息。接着,在Spring Boot项目中添加RabbitMQ依赖,并在配置文件中设置RabbitMQ服务器的地址、端口及登录信息。随后,创建生产者和消费者类,分别使用RabbitTemplate发送消息和通过@RabbitListener监听队列中的消息。此外,还介绍了如何配置连接池、消息确认机制以及手动确认消息等高级功能。最后,通过
2025-05-12 14:31:01
892
原创 MySQL锁机制全解:乐观锁与悲观锁的原理与应用
乐观锁(Optimistic Locking)是一种基于假设的锁机制,它假设在大多数情况下,数据在读取和修改过程中不会发生冲突。因此,它不会在事务开始时就对数据加锁,而是在提交时才检查是否有冲突。悲观锁(Pessimistic Locking)是一种基于假设的锁机制,它假设在大多数情况下,数据在读取和修改过程中会发生冲突。因此,它会在事务开始时就对数据加锁,直到事务结束才释放锁。乐观锁适用于读多写少的场景。适用于高并发系统,减少锁竞争。需要在应用层处理冲突。悲观锁适用于写多读少的场景。
2025-04-15 14:03:26
775
原创 Java 8 CompletableFuture:异步编程的利器与最佳实践
/ 使用 supplyAsync 创建一个有返回值的异步任务,并指定自定义线程池// 模拟耗时任务try {// 阻塞等待任务完成并获取结果使用场景:适用于需要对线程池进行精细控制的场景,例如限制线程数量或使用特定的线程池策略。
2025-04-14 16:06:51
887
原创 Spring Boot集成APK Parser库实现APK文件解析
创建一个控制器来接收上传的APK文件,并调用解析服务来获取APK信息。启动Spring Boot应用后,可以通过Postman或其他工具上传APK文件到。接口,解析服务会返回APK文件的元数据信息,如包名、版本号、图标等。创建一个服务类来处理APK文件的解析逻辑。如果需要处理大文件,可以考虑使用流式处理或分块上传的方式。确保上传的文件是有效的APK文件,否则解析可能会失败。根据实际需求,可以进一步扩展解析逻辑,例如解析。文件、获取DEX类信息等。
2025-04-08 16:31:45
460
原创 Spring集成asyncTool:实现复杂任务的优雅编排与高效执行
Spring Boot 项目中灵活使用 asyncTool 实现复杂的多线程任务编排
2025-04-08 11:08:56
815
1
原创 Docker 安装 Elasticsearch 教程
通过以上步骤,你可以在 Docker 上成功安装 Elasticsearch,并配置常用的网络、数据挂载和插件安装。掌握这些常用命令,可以帮助你更高效地管理和使用 Elasticsearch 集群。如果在使用过程中遇到任何问题,可以参考Elasticsearch 官方文档或社区寻求帮助。
2025-04-02 14:00:21
3256
3
原创 MyBatis 中 <collection> 标签的多种用法
在 MyBatis 中,<collection> 标签是处理一对多(One-to-Many)关系的关键工具,它能够将查询结果巧妙地映射到 Java 对象的集合属性中。
2025-04-01 18:41:43
1494
原创 MyBatis-Plus框架中@TableField注解的详细介绍
@TableField注解在MyBatis-Plus中用于控制实体类与数据库表字段之间的映射关系,提供了丰富的属性来灵活地处理字段的各种行为,包括字段映射、查询条件、自动填充、类型转换等,能够满足大多数复杂的业务场景需求。
2025-03-19 16:04:06
997
原创 Docker 安装 ElasticSearch 教程以及常用ES命令
本文主要教你使用 Docker 安装 ElasticSearch 的教程以及一些常用Es的命令
2025-03-12 15:36:07
370
原创 C 盘空间不足解决教程
在磁盘清理界面,点击 “清理系统文件”,勾选 “Windows 更新清理” 和 “以前的 Windows 安装”(可能占用数十 GB),再次删除。勾选要清理的内容(如临时文件、回收站、系统日志等),点击 “确定” → “删除文件”。按 Win + S,输入 “查看高级系统设置” → “高级” → “性能 - 设置”。取消勾选 “自动管理” → 选择 C 盘 → 点击 “无分页文件” → “设置”。右键 “文档、下载、桌面” 等文件夹 → “属性” → “位置” 选项卡。建议定期清理临时文件,避免长期堆积。
2025-03-11 14:05:11
797
原创 Redis 哨兵集群搭建及在 Spring Boot 项目中的应用(YAML 配置)指南
Redis 哨兵集群搭建及在 Spring Boot 项目中的应用
2025-03-06 17:58:37
726
原创 建立SFTP目录权限控制
在提供SFTP服务时,为了确保安全性,特别是向第三方人员或服务提供SFTP服务时,需要对SFTP用户进行严格的权限控制。配置防火墙,只允许必要的端口(如SFTP默认的22端口)通过,并限制访问来源IP地址。通过上述步骤,可以显著提高SFTP服务的安全性,有效防范潜在的安全漏洞。开启SSH日志记录,监控用户的登录和操作行为,及时发现异常活动。仅授予用户必要的文件夹访问权限,避免用户访问不相关的文件系统。为SFTP用户设置复杂且难以猜测的密码,并定期更换。启用公钥认证,相比密码认证,公钥认证更加安全。
2019-07-08 10:32:28
2143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人