自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue3 + TypeScript + Element Plus 通过 try...catch 捕获不到异常的案例分析

情况说明:执行 await store.fetchUpdateReagent(reagent);更新出错,但是没有执行 return原代码片段:问题分析:在您提供的代码中,函数中的try-catch块设计为在报错时执行return。如果报错后没有执行到return。

2025-06-12 15:57:41 131

原创 Vue3 + TypeScript + Element Plus 表格行多选与行展开的组合应用实例

展开行 type="expand", width="1" 故意屏蔽列,只能设置最小为1,设置0是自适应列宽,再配合样式设置,隐藏默认的展开图标。2、表格行已选中状态,点击表格行(或点击行内的复选框),取消选中行,取消展开行;2、表格行已选中状态,点击表格行(或点击行内的复选框),取消选中行,取消展开行;1、表格行未选中状态,点击表格行(或点击行内的复选框),选中行,展开行;1、表格行未选中状态,点击表格行(或点击行内的复选框),选中行,展开行;

2025-06-12 08:10:45 76

原创 Vue3 + TypeScript + Element Plus 表格行按钮不触发 row-click 事件、不触发勾选行,只执行按钮的 click 事件

要相实现点击表格行按钮不触发 row-click 事件、不触发勾选行,只执行按钮的 click 事件。点击第一行的【编辑】,第一行为当前选择行, 同时也勾选了复选框,也会执行 row-click 事件。点击第一行的【编辑】,第一行为当前选择行, 不会勾选复选框,不会执行 row-click 事件。点击表格行按钮不触发 row-click 事件、不触发勾选行,只执行按钮的 click 事件。只需给click增加stop修饰符即可。

2025-06-11 18:58:00 191

原创 Java + Spring Boot + MyBatis 事务注解 @Transactional 使用规范说明

当方法内包含多个数据库写操作(如多个INSERT/UPDATE/DELETE),且需要保证这些操作要么全部成功,要么全部失败时,必须使用事务。propagation = Propagation.REQUIRED, // 默认:当前有事务则加入,无则新建。如果Service方法A调用了其他Service方法B和C,且这些操作需要作为一个整体,则应在A上添加事务注解。写操作(如单个INSERT),数据库本身已保证原子性,可不加事务。不必要的事务会增加性能开销(如获取/释放连接、事务同步等)。

2025-06-11 10:44:19 260 1

原创 Spring Boot + MyBatis日志前缀清除方法

通过继承 MyBatis 的日志适配器,重写日志输出逻辑以移除前缀。

2025-06-11 10:09:38 287 1

原创 MyBatis配置冲突解决方案

这个错误是由于在配置 MyBatis 的时同时指定了和属性导致的。这两个属性是互斥的,不能同时使用。

2025-06-11 00:31:18 539

原创 Java 枚举(Enum)的使用实例

【代码】Java 枚举(Enum)的使用实例。

2025-06-10 15:46:38 129

原创 Java + Spring Boot项目枚举(Enum)目录建议

推荐位置:优先使用(业务相关)或(全局通用)。灵活性:Spring Boot本身不限制目录,最终取决于项目设计和团队约定。检查现有项目最可靠的方式是查看当前项目的代码结构,保持风格统一。

2025-06-10 14:27:42 567 1

原创 Java 枚举(Enum)的使用说明

public void execute() { System.out.println("打开文件");public void execute() { System.out.println("保存文件");System.out.println("单例操作");System.out.println("向北");System.out.println("向南");

2025-06-10 14:21:16 719

原创 前端传递日期范围(开始时间和结束时间),后端解析及查询

前端技术:Vue3 + TypeScript + Element Plus后端技术:Java + Spring Boot + MyBatis。

2025-06-10 08:23:21 140

原创 sql优化:使用 exists 优化 in () 或 = ()

【代码】sql优化:使用 exists 优化 in () 或 = ()

2025-06-10 07:21:25 192

原创 Spring Boot日志文件配置指南

在 Java Spring Boot 项目中配置日志输出到文件,可以通过以下步骤实现。Spring Boot 默认使用 Logback 作为日志框架,以下是两种常用配置方式:这是最简单的配置方式,适合大多数场景。 配置示例:properties复制下载# 设置日志输出路径和文件名(二选一)logging.file.name=logs/app.log # 完整路径(优先使用)# 或指定目录(自动生成 spring.log)logging.file.path=logs # 日志级别设置loggi

2025-06-10 00:20:26 803

原创 Java解析前端传来的Unix时间戳

场景方案Java 8+ 项目优先使用Instant兼容旧系统 (Java 7-)使用Date时区敏感务必显式设置目标时区。

2025-06-09 23:50:44 711

原创 Vue3 + TypeScript + Element Plus 设置表单中日期控件的宽度

需要设置日期控件的宽度要设置。

2025-06-09 19:35:46 907

原创 MyBatis中foreach集合用法详解

在 MyBatis 中,<foreach>标签用于遍历集合(Collection、List、Array、Map),常用于构建动态 SQL 语句(如IN查询、批量插入等)。

2025-06-08 23:08:17 1040

原创 Vue3 + TypeSrcipt 防抖、防止重复点击实例

1、编写防止重复点击组合式函数 hook,usePreventReClick.ts2、导入防止重复点击组合式函数 hook3、使用 preventReClick 防止重复点击......// 查询,加装 preventReClick 防抖器,防止重复点击preventReClick(async () => { // 改动1:增加防抖代码// 检查if (!!) {ElMessage.warning("请输入查询条件!");return;});// 改动2:增加防抖代码。

2025-06-08 20:10:18 338

原创 Java严格模式withResolverStyle解析日期错误及解决方案

在Java中使用并启用严格模式()时,解析日期字符串yyyyYearOfEraYear。在严格模式下,解析器要求所有字段必须完整且一致,而LocalDate需要Year字段(而非YearOfEra)来构建对象,导致转换失败。

2025-06-08 17:31:11 423

原创 Java处理字符数组转换为开始日期和结束日期

在Java中处理字符数组表示的(例如),将其转换为开始时间和结束时间,推荐使用Java 8+的java.timeAPI(如LocalDate。

2025-06-08 15:48:54 661

原创 Java后端检查空条件查询

通过抛出运行异常:throw new RuntimeException("请输入查询条件!

2025-06-08 15:16:07 401

原创 MyBatis中include标签用法详解

使用。

2025-06-08 14:38:32 476

原创 Vue3指令别名使用指南

Vue 允许为自定义指令全局注册别名在main.js中多次注册同一指令逻辑:javascript复制下载// 定义指令逻辑el.focus();// 注册多个别名// 别名html复制下载运行-- 使用 -->-- 别名生效 -->局部注册别名在组件中复用同一逻辑:javascript复制下载focus: {},// 指向同一逻辑对象autoFocus: 'focus' // 别名html复制下载运行-- 别名生效 -->

2025-06-08 09:19:46 760

原创 数据表自增主键命名规范

user_id INT, -- 外键:引用 users.id。PRIMARY KEY (user_id, role_id) -- ✅ 组合主键。通过规范命名,可显著提升代码可读性、减少ORM配置成本,并降低团队协作的认知负担。user_id INT, -- 引用 users.id。role_id INT, -- 引用 roles.id。极少情况下需强调主键类型(如分布式ID),可命名如。:组合主键用业务字段名,分布式ID用特指名称(如。

2025-06-07 11:15:02 313

原创 CSS选择器使用详解

/* class="warning"的元素 */a[href^="https"]::after { content: "🔒";} /* 包含"box" */#nav .item:hover {} /* 100(ID) + 10(类) + 10(伪类) = 120 */button:not(:disabled):hover { /* 未禁用的按钮悬停状态 */ }} /* id="header"的元素 */[class^="btn-"] { /* 匹配btn-开头的类 */ }

2025-06-07 07:16:29 860

原创 Vue3 + Vite 中使用 Lodash-es 的防抖 debounce 详解

在 Vue3 + Vite 项目中,debounce是 lodash-es 中最常用的功能之一,它可以帮助我们优化高频事件的处理。下面我将详细讲解 debounce 的使用方法,并提供一个完整的示例。

2025-06-07 00:54:31 842

原创 Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的<foreach>标签和批处理模式(ExecutorType.BATCH)。

2025-06-06 23:27:03 1205

原创 scss(sass)中 & 的使用说明

场景示例编译结果伪类&:hoverBEM 命名&__item修改上下文.context &简化重复前缀&-suffix合理使用能让 SCSS 代码更简洁、可读性更强,特别适合组件化开发和 BEM 命名规范!

2025-06-06 15:01:21 583

原创 JavaScript判断字符串结尾的方法

/ true(前5个字符是 "Hello"):现代浏览器和 Node.js 均支持(IE 需转译或 Polyfill)// 支持指定搜索长度(在指定长度内判断结尾)兼容旧版 JavaScript(如 IE8+)// endsWith 的 Polyfill。// 动态生成正则(需转义特殊字符):结合 Polyfill 或。需要转义正则特殊字符(如。需手动处理边界情况(如。

2025-06-06 10:53:14 703

原创 Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

Element Plus 的组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。

2025-06-06 08:35:51 325

原创 CSS中text-align: justify文本两端对齐

* 强制最后一行两端对齐 *//* 需要固定宽度 */text-align: justify;/* 关键属性 *//* 自动在单词内添加换行连字符 */⚠️ 避免在窄容器中使用(如手机屏幕),过大的单词间距会降低可读性。(如文章、新闻),能创建整洁的块状文本区域,提升可读性和专业感。:每行文本左右两端严格对齐容器边缘(类似报纸排版)。浏览器会自动调整单词/字符之间的间距,使文本的。:默认按左对齐处理(除非额外设置。),否则文本无分散空间。

2025-06-06 08:24:39 404

原创 CSS中justify-content: space-between首尾贴边中间等距(两端元素紧贴左右边缘,中间元素等距均匀分布)

是 CSS Flexbox 布局中的一个属性值,主要作用是。

2025-06-06 08:00:51 548

原创 Java中List的forEach用法详解

java复制下载// 对每个元素进行平方操作// 输出:1 4 9 16 25});

2025-06-05 15:45:11 901

原创 Java + Spring Boot + Mybatis 插入数据后,获取自增 id 的示例代码

【代码】Java + Spring Boot + Mybatis 插入数据后,获取自增 id 的示例代码。

2025-06-05 15:08:29 178

原创 Java + Spring Boot + Mybatis 插入数据后,获取自增 id 的方法

确保实体类有对应的属性(与。

2025-06-05 14:59:41 1146 1

原创 Java + Spring Boot + Mybatis 实现只更新有修改过的内容

【代码】Java + Spring Boot + Mybatis 实现只更新有修改过的内容。

2025-06-04 22:19:17 120

原创 判断两个对象是否相同(对象的所有属性的值是否都相同)示例代码

【代码】判断两个对象是否相同(对象的所有属性的值是否都相同)示例代码。

2025-06-04 22:13:33 92

原创 前端工具库lodash与lodash-es区别详解

特性lodashlodash-es模块格式CommonJSES Module❌ 不支持✅ 完美支持打包体积较大按需加载极小使用场景Node.js/传统环境现代前端框架按需导入功能组级函数级优先选择lodash-es,除非你的环境明确需要 CommonJS(如 Node.js 脚本)。现代前端工具链(Webpack 4+/Rollup/Vite)均已原生支持 ES Module,配合lodash-es能最大化优化项目体积。

2025-06-04 21:23:13 994

原创 Vue3+Vite中lodash-es安装与使用指南

始终按需导入避免全局导入:防止打包体积过大配合 Vite 的 Tree Shaking:现代构建工具会自动优化复杂操作优先使用 lodash:如深度克隆、防抖节流等按照这些步骤,您可以高效地在 Vue 3 + Vite 项目中使用 lodash-es,在保持小体积的同时获得强大的工具函数支持。

2025-06-04 21:19:19 904

原创 JavaScript中判断两个对象是否相同(所有属性的值是否都相同)

在JavaScript中,判断两个对象的所有属性是否相同(包括嵌套对象)需要深度比较(deep comparison)。

2025-06-04 20:55:25 667

原创 Java Lombok @Data 注解用法详解

构造器生成规则和字段排除)以及何时需要定制化(使用单独的 Lombok 注解)至关重要,尤其是在处理 JPA 实体、继承或需要特定行为时。注意生成的 setter 是 public 的,有时你可能希望控制对某些字段(如关联集合)的修改,这时可能需要使用单独的。-- 根据你的JDK版本调整 -->// @Setter 生成的 (注意:id 是 final,所以没有 setId),尤其是在实体还未持久化(id 为 null)或关联被修改时。标记的字段(推荐做法,避免意外包含不相关字段导致逻辑错误)。

2025-06-04 20:31:24 508

原创 vue3项目开发中使用vscode一键整理模块引用

alt + shift + O

2025-06-04 13:20:47 363

空空如也

空空如也

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

TA关注的人

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