自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mybatis-Plus中QueryWrapper 与 LambdaQueryWrapper 的区别

/ 可能是 "name" 或 "username"lambdaWrapper.eq(User::getNam, "张三");lambdaWrapper.eq(User::getName, "张三");queryWrapper.eq("name", "张三");// ❌ 需要手动改为 "username"queryWrapper.eq("nam", "张三");lambdaWrapper.eq(User::getName, "张三")queryWrapper.eq("name", "张三")

2026-01-09 16:33:49 495

原创 Vue3+TypeScript API写法规范建议

在 Vue3 + TypeScript 项目中,两种写法都算规范,但各有适用场景。

2026-01-06 17:49:06 550

原创 windows11,Vue3+TypeScript项目API目录加载优化方案

构建。

2026-01-06 09:04:41 325

原创 Windows11优化设置

2025-12-31 07:51:22 103

原创 Delphi5+ADODataSet/ADOQuery+DBGridEh实现单价、金额显示人民币符号

currency设置为True。

2025-12-29 15:03:43 159

原创 JavaScript类型判断方法详解

在JavaScript中,类型判断有多种方法,各有优缺点。

2025-12-25 16:58:48 786

原创 UUID 的生成示例

需要严格时间排序→ 使用UUID v1或UUID v7优点:自然按时间排序缺点:v1可能泄露MAC地址,v7更安全不需要时间排序→ 使用UUID v4优点:完全随机,安全性高缺点:无法按生成时间排序现代应用推荐→UUID v7结合了时间排序和安全性但需要较新的库支持数据库主键→ 考虑数据库性能UUID作为主键可能影响索引性能大表建议结合其他策略(如雪花算法)选择时需平衡排序需求、安全性和性能要求。

2025-12-25 11:40:00 939

原创 vue3+TypeScript文件下载工具类优化

javascript// 已经移除了不必要的样式设置// ❌ 没有 link.style.display = "none"(很好!

2025-12-23 15:27:51 932

原创 Vue3+Element-Plus+el-select清空选项(确定保存后数据没有改变)的问题

<scritp>alter("xss")</scritp>

2025-12-22 15:52:53 133

原创 Vue3+TypeScript+Element-Plus确认对话框ElMessageBox.confirm

这段代码使用了 Element Plus 的方法创建一个确认对话框,并配置了一些特定的行为选项。

2025-12-21 16:02:59 613

原创 关于XSS

关键结论:必须做防护:即使是局域网,基础XSS防护也是必须的成本很低:基础防护的实现成本极低,性能影响可忽略风险很高:内部威胁同样危险,甚至更危险合规要求:很多行业标准(等保、GDPR等)都要求基础防护习惯培养:培养开发人员的安全编码习惯对于局域网信息系统,至少要实现✅ 所有用户输入的HTML特殊字符转义✅ 输入长度和格式验证✅ 关键操作的日志记录✅ 定期安全扫描和代码审查不要因为"内部系统"就放松安全要求,安全是一个系统工程,需要从第一天就开始考虑。

2025-12-21 10:18:56 724

原创 Spring Boot 3应用执行流程详解

Spring Boot的启动流程虽然复杂,但理解其核心原理对于开发调试非常有帮助。初始化阶段:环境准备和上下文创建配置阶段:自动配置和Bean定义加载启动阶段:Bean实例化和Web服务器启动建议通过实际调试来深入理解每个步骤,这将帮助你更好地掌握Spring Boot的工作原理。像过滤器、拦截器这些是什么时候执行呢?关键点总结:执行顺序:过滤器(Servlet层面)→ DispatcherServlet → 拦截器(Spring MVC层面)→ Controller过滤器在前后执行,拦截器有。

2025-12-21 08:48:50 898

原创 MyBatis-Plus 自动填充推荐使用 strictInsertFill 和 strictUpdateFill(fillStrategy、setFieldValByName)

/ 结果:createTime = 2023-01-01T00:00 (不覆盖,因为不是null)// 结果:createTime = 2023-01-01T00:00 (不覆盖)// 如果实体类中已经设置了 createTime,这里不会覆盖。// 即使实体类已经设置了 createTime,也会被覆盖!// ❌ 错误:类型不匹配,但编译可能通过,运行时报错或填充失败。// 3. setFieldValByName - 强制覆盖。// 结果:createTime = 当前时间 (强制覆盖)

2025-12-19 21:02:43 668

原创 Spring Boot全局日期格式配置方法

java@Bean@Primary// 设置全局日期格式// 针对Java 8时间API的配置// 如果需要,也可以配置LocalDate等其他类型java// 使用方式。

2025-12-19 16:26:05 929

原创 Spring Boot依赖注入方式比较

这就好比:电锯(@Autowired)让伐木更高效,但熟练后你会发现斧头(构造器注入)在某些场景更安全可控。// 如果类比较简单,也可以显式写构造器(代替 @RequiredArgsConstructor)@RequiredArgsConstructor // Lombok 生成构造器。@Autowired(required = false) // 可选依赖。@Autowired // 这当时是个巨大的进步!// 只有一个构造器时,可以省略 @Autowired。// 不需要 @Autowired!

2025-12-19 00:21:11 570

原创 Vue3+Vite引用jquery工具库(因为jquey是工具库不是插件,所以这里是说是引用不是安装依赖)

对于内网环境如果你追求极致的稳定和简单,不想与构建工具纠缠,请选择【方案一】。这是最“傻瓜式”、最接近传统Web开发的方式,在任何环境下都绝对可靠。如果你希望依赖由 npm 统一管理,并且可以接受稍微复杂的配置,请选择【方案三】,或在方案二的基础上必须结合方案三。这是目前 Vite 环境下最实际、最有效的解决方案。无论选择哪个方案,完成后都请:删除index.html中旧的 CDN 引用(如果采用方案三则无需此步)。确保类型声明正确,避免 TypeScript 报错。重启你的开发服务器。

2025-12-16 14:54:59 1905

原创 Vue3+TypeScript安装及使用vue-plugin-hiprint

在 src 或 src/types(项目结构有这个 types 目录)目录下,新建 vue-plugin-hiprint.d.ts。"src/**/*.d.ts", // 包含所有 .d.ts 文件。// 确保 include 包含以下模式。// ... 其他编译器选项。配置,主要的编译配置分散在。是Vite项目使用的。

2025-12-15 21:39:29 239

原创 Spring Boot HikariCP调试日志解析

这是 HikariCP 连接池的正常调试日志,说明连接池运行状况良好。

2025-12-15 15:14:47 332

原创 SQL Server 2008 R2中NVARCHAR(MAX)与NTEXT区别

在 SQL Server 2008 R2 中,应优先使用。

2025-12-15 11:10:42 383

原创 Java与Javaw进程模式区别解析

java和javaw都是 Java 运行时环境(JRE)中的可执行文件,用于启动 Java 应用程序,但它们在和javajavawSystem.outSystem.errSystem.in。

2025-12-15 08:59:34 308

原创 Vue3+TypeScript安装PDF.js教程

第 {{ currentPage }} 页 / 共 {{ totalPages }} 页总页数: {{ pageCount }}

2025-12-14 12:23:34 755

原创 Spring Boot jar包应用服务管理脚本

【代码】Spring Boot jar包应用服务管理脚本集。

2025-12-12 22:43:39 189

原创 Nginx生产环境配置示例

【代码】Nginx生产环境配置示例。

2025-12-12 22:29:01 192

原创 SQL Server 2008 R2 int最大值解析

bigint:-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807(8 字节)int:-2,147,483,648 到 2,147,483,647(4 字节):-2,147,483,648 到 2,147,483,647。smallint:-32,768 到 32,767(2 字节):int 类型在 SQL Server 中占用。-- 查看 int 最大值。-- 创建表时使用 int。-- 插入接近最大值的数据。

2025-12-12 21:44:24 210

原创 Nginx生产环境上传文件大小限制解决(413 Request Entity Too Large)

这个问题出现的根本原因环境配置不一致:开发环境没有 Nginx 参与,生产环境有默认安全策略:Nginx 的保守默认设置 vs 开发服务器的宽松设置架构差异:单一开发服务器 vs 多组件生产架构配置遗漏:通常开发时只关注代码,忽略生产服务器的配置这是一个非常典型的"开发环境正常,生产环境异常"的问题,也提醒我们在部署时要考虑完整的请求链路,而不仅仅是应用代码本身。

2025-12-12 10:03:52 1073

原创 Vue3上传文件自动处理Content-Type

不需要手动设置 。原因如下:当使用 对象发送请求时,浏览器会自动设置正确的 ,并包含必要的 boundary(边界分隔符)。手动设置可能会破坏这个机制。如果你手动设置了 ,但没有包含 boundary,请求会失败。正确的格式应该是:textContent-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW3. 推荐的正确写法typescriptexport const workInstruction

2025-12-11 23:15:37 258

原创 Vue3中API设计与编码兼容性分析

typescript// 统一建议:// 1. 新项目使用第一种API// 2. 保持前后端编码规则一致// 3. 在API文档中明确说明编码要求// 4. 考虑使用POST方式传输复杂参数// 如果遇到编码问题,可以考虑:// 统一使用URLSearchParams处理特殊字符params,});

2025-12-11 22:54:00 731

原创 运行中JAR包替换原理与实践

技术上是可行的,因为操作系统允许这样做,但生产环境不推荐直接替换,应该:正常停止应用备份原JAR部署新JAR重新启动这样可以避免各种潜在问题,如内存泄漏、类加载冲突、资源未释放等。

2025-12-11 21:02:29 410

原创 Spring Boot日志文件未生成问题排查

您指定了jar包的绝对路径,但日志文件的相对路径。

2025-12-11 16:40:11 714

原创 SQL Server删除表时提示无法删除引用对象的解决方案

这个错误表明表被其他表的外键约束引用,所以不能直接删除。

2025-12-10 22:52:50 471

原创 IntelliJ IDEA查找关键内容方法

在 IntelliJ IDEA 中,有多种方式可以在整个项目中查找关键内容。

2025-12-10 10:24:42 427

原创 Spring Boot启动时tomcat日志正常分析

根据提供的日志信息,。

2025-12-10 10:13:03 265

原创 Spring Boot应用启动时tcnative库缺失的警告

结论:您的Spring Boot应用启动过程正常。这些只是警告信息,表示Tomcat没有找到可选的性能优化库,但会使用标准Java实现继续运行。建议:如果您不打算使用Tomcat APR特性,直接在配置中禁用它即可消除这些警告信息。

2025-12-10 10:04:42 272

原创 Spring Boot启动时ffmpeg和exiftool缺失问题分析

应用启动不正常(有功能缺失),但。

2025-12-10 09:44:44 551

原创 Spring Boot工具包及实用工具类介绍

在Spring Boot中,“工具包”通常有两层含义:一是,用于集成特定功能;二是,能简化日常开发。下面我为你整理了核心信息。

2025-12-09 18:50:18 377

原创 Nginx缓存配置分析与优化建议

使用"no-cache"的场景:当你希望兼顾性能与新鲜度,允许缓存但强制验证时使用。适用于静态资源但需要及时更新的情况(如您无版本号的PDF Worker文件)。使用的场景:当内容绝对不允许被任何中间环节存储或提供旧版本时使用。适用于包含敏感信息的页面或应用入口文件。关于always参数:您代码中的always确保了即使Nginx返回错误状态码(如404、500),这个响应头也会被发送给客户端。这在配置缓存策略时是一个好习惯,能保证行为的一致性。对于您的的兜底配置(即不带版本参数时),目前的。

2025-12-09 15:28:51 784

原创 Vue3 + PDF.js的pdf.worker.min.mjs引发的一系列技术问题(开发、部署、测试、Nginx:相关配置+缓存策略)

与的主要区别在于。

2025-12-09 07:53:44 706

原创 Vue3导航栏毛玻璃效果实现(由deepseek实现,通义灵码实现不出来,后续参考实现)

根据您的要求,我将在保留现有结构和注释的基础上,为导航栏实现毛玻璃透明效果。这些调整保持了毛玻璃效果,但使整体色调更灰、更柔和,减少了白色感,同时保持了良好的可读性和美观性。根据您的要求,我将调整导航容器背景色,使其不那么白。:导航栏高度从 32px 增加到 40px,有更好的触摸区域。同样应用了毛玻璃效果,与主导航栏保持一致的视觉风格。,增加一点深度,与调整后的背景色更协调。确保 Safari 浏览器兼容性。伪元素的渐变背景透明度降低,从。的背景色调整为与导航栏一致的。使用更灰的色调,降低白色感。

2025-12-08 20:50:17 423

原创 IDEA处理方法未使用警告方法

在IntelliJ IDEA中,针对“方法未使用”的警告,可以通过局部抑制或调整检查设置来处理。来关闭检查,或者点击右侧的** severity(严重性)** 下拉框,将警告级别从。)本身不会被项目内的代码直接引用,IDEA也会将其标记为“未使用”。总的来说,处理“方法未使用”警告的最佳实践是:优先使用 Alt+Enter。,可以快速隐藏所有代码检查警告(包括未使用警告),方便专注阅读。更推荐使用前述的局部抑制方法。除了使用快捷键,你也可以手动在方法上方添加注解。是最常用的参数,表示抑制“未使用”的警告。

2025-12-08 10:15:45 318

原创 Java中File转InputStream方法详解

最简单的做法java// 如果只需要将File转为InputStream,这一行就够了:推荐的做法java// 加上try-with-resources和异常处理// 使用inputStream// 处理异常关键点使用是最直接的方式记得使用try-with-resources确保流被正确关闭处理文件时最好先检查文件是否存在、是否可读对于大文件,使用可以提高性能为什么是8KB缓冲区你提出了一个很好的问题!

2025-12-08 00:40:49 2406

空空如也

空空如也

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

TA关注的人

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