代码记录
文章平均质量分 69
内容中主要以解决问题、需求的代码居多,可查看详细代码
北极糊的狐
任何人都会有遇到问题的时候,只是有些人会去积极解决问题,而有些人却慢慢的被问题压垮所解决了,无论对事还是对人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
若依报错:Request method ‘GET‘ not supported
摘要:本文分析了若依(RuoYi)框架中常见的"Request method 'GET' not supported"错误,指出这是由于前端使用GET方法访问仅支持POST/PUT/DELETE等方法的接口导致的405错误。文章详细解析了错误含义,列举了5种典型场景(如前后端方法不匹配、参数传递混淆等),并提供了具体解决方案:定位报错URL、核对后端注解、修正不匹配问题等。同时建议遵循若依规范,统一使用框架封装的请求方法,开发前做好接口约定,生成代码后不随意修改注解。通过前后端协同检查和原创 2025-12-26 16:10:37 · 1177 阅读 · 0 评论 -
按钮绑定事件达成跳转效果并将树结构id带入子页面形成参数完成查询功能并将返回的数据渲染到页面上2022.5.29
摘要:本文总结了前端开发中的几个常见问题及解决方法。1.实现树节点新增时自动传递父节点ID,通过修改showAddGroup.ts和GroupAddForm.vue文件,将父节点ID赋值给表单数据;2.解决表单输入框显示ID但未传递的问题,添加reactiveData.formData.groupId=props.fathermessage赋值代码;3.新增成功弹窗效果实现,在按钮方法中添加Message控件调用;4.页面渲染时处理从后端获取的各种类型值的展示方法。这些方案涉及表单数据处理、组件通信和用户反原创 2025-12-26 09:40:16 · 180 阅读 · 0 评论 -
若依报错org.springframework.dao.DataIntegrityViolationException
文章摘要:本文分析了Spring框架中出现的DataIntegrityViolationException异常,该异常是由于数据库结果集与Java实体类的类型映射不匹配导致的。核心问题是JDBC驱动无法将含非数字字符的身份证号字符串转换为Java实体类中的非字符串类型字段。解决方案包括:将实体类字段改为String类型、修正MyBatis映射配置、添加类型处理器或调整数据库列类型。建议遵循"字符型字段用String接收"的开发规范,以避免此类类型转换异常。原创 2025-12-22 17:05:09 · 303 阅读 · 0 评论 -
若依报错required URL template variable ‘name‘ for method parameter type String is not present...
在若依(RuoYi)框架中解决"MissingPathVariableException"错误的核心思路是:首先检查后端Controller接口路径是否正确定义了{name}占位符,确保@PathVariable注解与URL路径变量匹配;其次排查前端请求是否动态拼接了name参数。特别注意若依框架特有的接口前缀配置、权限拦截等可能影响路径匹配的因素。解决方案包括:后端添加路径占位符、设置参数非必传、统一变量命名,前端使用模板字符串动态拼接URL。建议通过Postman先验证后端接口,再调原创 2025-12-17 10:12:28 · 243 阅读 · 0 评论 -
若依系统报错net::ERR_CONNECTION_TIMED_OUT的原因
一、错误核心含义net::ERR_CONNECTION_TIMED_OUT 是前端发起请求时,无法在指定时间内与后端服务器建立连接(连接超时),而非接口报错或返回异常。在若依(RuoYi)框架中,该错误几乎都与「网络连通性、服务启停状态、地址 / 端口配置、防火墙拦截」四类问题相关。二、分步骤排查 & 解决(从简单到复杂)步骤 1:确认若依后端服务是否正常启动这是最基础也最常见的原因,后端服务未启动 / 启动失败,前端请求必然超时。本地开发环境:打开后端项目的启动日志(IDEA/Eclipse原创 2025-12-16 08:43:01 · 1059 阅读 · 0 评论 -
MySQL常见报错分析及解决方案总结(32)---dropping database (can‘tdelete ‘%s‘, errno: %d)?error.:1009?
MySQL数据库删除失败错误"dropping database (can't delete '%s', errno:1009)"通常是由于文件系统问题导致无法删除数据库目录。主要原因是目录非空、权限不足、文件被占用或磁盘异常。90%的情况可通过停止MySQL服务后手动删除数据库目录解决。排查步骤包括:定位数据库目录、检查内容权限、确认文件占用情况和磁盘状态。解决方案涵盖手动清理目录、修复权限、解除文件占用和修复文件系统等操作。预防措施建议规范权限管理、操作流程和磁盘监控,避免类似问题发原创 2025-12-15 13:42:43 · 1355 阅读 · 0 评论 -
报错:No MyBatis mapper was found in ‘[com.ruoyi.web.controller.common.CaptchaController]‘
摘要:MyBatis报错显示在controller包下未找到Mapper接口,原因是扫描路径配置错误。解决方案包括:1)确认Mapper接口正确位置(如com.ruoyi.mapper包);2)修正启动类@MapperScan注解指向Mapper包;3)检查接口是否添加@Mapper注解;4)排除包名拼写、缓存等问题。注意若依框架应采用分层设计,Mapper接口不应放在controller包下。典型错误是将@MapperScan错误配置为扫描controller包路径导致。(149字)原创 2025-12-10 08:32:17 · 894 阅读 · 0 评论 -
微服务报错:Unsatisfied dependency expressed through field ‘configService‘; nested exception is XXX
摘要:本文分析了Spring依赖注入失败的常见原因及解决方案。报错显示configService111对象注入失败,核心问题是Spring容器初始化时无法找到或创建依赖对象。文章列举了17种排查方案,包括:检查组件注解、配置文件密码、扫描范围、JDK版本、XML配置、方法对应关系、循环依赖等。重点强调了多实现类需用@Qualifier指定、循环依赖需用setter注入或@Lazy、以及通过nestedexception定位根本原因。最后给出了通用排查流程,建议按优先级检查注解、扫描范围、多实现类等问题。原创 2025-12-09 08:49:34 · 1356 阅读 · 2 评论 -
记录五种查询方式(模糊、Wraps,lambdaQuery,持续更新)
根据一个字段获取所有符合条件的多条数据List例:根据班组id(teamId)获取所有这个班组的成员信息(UserTeam实体类List)List<UserTeam> userLists = userService.lambdaQuery().eq(UserTeam::getTeamId, teamId).list();根据两个字段获取唯一的一条数据例:根据组织id(orgId)和工作类型(typeCode)获取唯一的(selectOne)一条数据(实体类AppF..原创 2021-11-11 13:46:21 · 12340 阅读 · 0 评论 -
元素类型为 “mapper“ 的内容必须匹配 “(cacheref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|select
元素类型为 "mapper" 的内容必须匹配 "(cacheref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|selectError creating bean with name 'captchaController': Unsatisfied dependency expressed through field 'configService'; nested exception is org.springframework.b原创 2023-06-25 14:59:01 · 802 阅读 · 0 评论 -
微服务启动报错:Update failedOpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0XXXX) failed; error
摘要:拉取代码报错主要涉及两个核心问题:1)JVM内存分配失败,建议调整IDEA的JVM内存配置(降低-Xmx参数)或扩大系统虚拟内存;2)Git认证失败,推荐配置Git凭据缓存(wincred或manager-core)或改用SSH协议。解决顺序应先处理内存问题,再解决认证问题,最后检查Git路径配置。若问题持续,需检查Gitee账户是否启用2FA(需使用私人令牌)或考虑升级IDEA版本。原创 2025-12-08 08:42:24 · 946 阅读 · 4 评论 -
Blobal Exception Handler: JSON parse error: canotdeserialize valve of type “java.lang.tring’ from Ar
这个报错的核心是「前后端数据类型约定不一致」,优先排查前端传参格式(是否误传数组),90% 的情况修复前端即可解决。若业务需要传数组,则后端将接收类型改为或String[]。关键是通过日志和抓包快速定位问题接口和字段,避免盲目修改代码。原创 2025-12-07 21:42:47 · 843 阅读 · 0 评论 -
报错Closing channel for unresponsive consumer: Consumer@2e1c5d1f: tags=[[amq.ctag-RYmVIinA8Ye7DNMsWVD9
摘要:RabbitMQ消费者在手动确认模式下因处理阻塞导致无响应,触发通道关闭。解决方案分三步:1)临时优化配置,调整心跳、线程池和预取数;2)确保手动ACK逻辑完整,检查所有异常分支;3)定位业务阻塞点(如TenantClient调用超时),通过日志分析、线程栈工具排查,针对性优化慢查询和远程调用。最后需检查RabbitMQ服务器状态,清理无效资源。(149字)原创 2025-12-03 08:29:45 · 949 阅读 · 14 评论 -
Vue3 中页面重定向的方式
Vue3中使用VueRouter4实现页面重定向的三种主要方式:1) 路由配置式重定向,适用于初始化跳转和404处理;2) 编程式导航,通过router.push/replace实现组件内跳转;3) 路由守卫重定向,用于权限控制和全局拦截。文章详细介绍了每种方式的实现方法,包括基础配置、参数传递和特殊场景处理,并对比了不同场景下的最佳实践选择。特别强调了VueRouter4的语法变化和避免无限重定向的注意事项,为开发者提供了全面的重定向解决方案。原创 2025-12-02 10:22:36 · 847 阅读 · 15 评论 -
Vue3 子组件修改父组件传递的对象并同步的方法汇总
Vue3中子组件修改父组件对象的最佳实践是遵循单向数据流原则,避免直接修改Props。主要方案包括:1)自定义事件(通用推荐),子组件创建新对象并通过emit传递;2)v-model语法糖(表单场景),使用计算属性实现双向绑定;3)Pinia/Vuex(跨组件共享状态)。关键注意事项:禁止直接修改Props、嵌套对象需浅拷贝、性能优化技巧。根据场景选择方案,确保数据可溯源且符合Vue设计原则。原创 2025-11-28 14:19:28 · 442 阅读 · 18 评论 -
父组件向子组件传参时,传递数组和对象类型的参数的方法
Vue3中父组件向子组件传递数组/对象的核心要点:1) 传递方式与基础类型一致,使用Props传递引用地址;2) 子组件声明时必须用函数返回默认值(default:()=>[])以避免共享引用;3) 遵循单向数据流原则,子组件应通过事件通知父组件修改数据而非直接修改。特别注意数组/对象是引用类型,直接修改会影响父组件数据,推荐使用reactive定义对象、ref定义数组,复杂数据需做好类型校验。原创 2025-11-28 09:46:12 · 872 阅读 · 16 评论 -
Vue3 中父子组件传参是组件通信的核心场景,需遵循「父传子靠 Props,子传父靠自定义事件」的原则,以下是资料总结
本文详细介绍了Vue3中父子组件通信的四种方式:1)父组件通过Props向子组件传参(单向数据流);2)子组件通过自定义事件向父组件传值;3)使用v-model实现双向绑定(Props+事件的语法糖);4)通过ref和expose访问组件实例(应急方案)。文章分别阐述了组合式API和选项式API的实现方式,强调了单向数据流原则和最佳实践,建议优先使用Props+自定义事件,避免直接修改Props或过度依赖实例访问。对于复杂场景,推荐使用状态管理工具而非多层组件通信。原创 2025-11-28 09:45:24 · 1106 阅读 · 10 评论 -
Vue报错<template v-for=“option in cardOptions“ :key=“option.value“>
Vue模板报错问题分析与优化方案 摘要:在Vue项目中遇到报错,原因是模板中使用了<template>标签内的v-for指令,而当前Vue版本不支持此用法。解决方案是移除<template>标签,直接在<el-option>上使用v-for。同时优化计算属性cardOptions,使其能够兼容历史数据,确保当前值对应的选项能正确显示。此外还提供了格式化冰淇淋口味的函数,将"西瓜"等前缀转换为"西瓜味"等更友好的显示格式。通过修改,既原创 2025-09-10 08:52:39 · 387 阅读 · 0 评论 -
高效合并复杂SQL查询:学生实验统计案例分析
摘要:本文讨论了如何合并两个统计学生实验数据的SQL查询。第一个查询统计学生应参与实验总数、已操作和未操作实验次数,第二个查询统计操作次数、成功次数和成功率。合并方案是将两个查询作为子查询,通过学生ID进行关联,同时保持各自的时间条件(第一个查询基于executiontime,第二个基于create_time)。合并后的SQL使用LEFT JOIN连接两个子查询结果,并处理了除数可能为零的情况。最终结果按学生ID排序,完整呈现了学生的实验参与情况和成功率统计。原创 2025-06-24 15:12:33 · 896 阅读 · 0 评论 -
SELECT count(*)from u where u.create_time BETWEEN “2025-06-20“ and “2025-06-20“ 这个SQL不能把当天的数据统计出来
SQL查询无法返回2025-06-20 08:59:04数据的原因是时间精度问题。当使用字符串"2025-06-20"时,数据库会将其隐式转换为2025-06-20 00:00:00,导致BETWEEN查询只匹配精确零点数据。解决方案:1)使用半开区间查询整个日期范围(从当日零点到次日零点);2)使用日期函数简化查询;3)注意单双引号的使用规范和索引优化。建议统一时区设置并验证数据是否存在。原创 2025-06-23 10:01:07 · 436 阅读 · 0 评论 -
使用 Java Stream API 对集合进行流式处理,基于集合中每个元素进行转换,然后输出一个新集合
总结来说,这段代码的作用是将 DdcView 列表中的每个对象映射为 RelaDto对象,并返回这些 DTO 对象的列表。这段代码的功能是从 DdcView 实体列表转换为 RelaDto数据传输对象(DTO)列表。对每个 DdcView 对象(变量名为 stu),创建一个新的 RelaDto对象(变量名为 item)。设置 RelaDto的 name 属性为 DdcView 的name。设置 RelaDto的 id 属性为 DdcView 的 id。将每个转换后的 RelaDto收集到一个新的列表中。使用原创 2025-02-19 08:40:16 · 254 阅读 · 0 评论 -
使用@JsonSerialize注解给页面列表诸如身份证之类的敏感数据实现脱敏
1.首先可以先定义一个Vo专门用于接收数据列表在脱敏页面展示,不建议直接在实体类字段上处理,因为可能别的业务可能还需要使用实体类。使用@JsonSerialize注解给页面列表诸如身份证之类的敏感数据实现脱敏。2.在需要做脱敏的字段加上这个字段,指定using=一个类名。(我这里是把身份证号码11到14位替换为*号再给前端做展示)4.最后我这里这个字段还根据不同的证件类型,兼容三种证件号码。3.然后创建这个类,在里面定义脱敏规则即可。原创 2025-02-18 08:34:16 · 308 阅读 · 0 评论 -
使用 Java Stream API 对集合进行流式处理:将集合中某个字段的所有数据提取出来,并用逗号连接成一个字符串。
总结来说,这段代码的作用是将 iceList 列表中所有品牌的名称提取出来,并用逗号分隔后拼接成一个字符串,存储在iceName 变量中。例如,如果 iceList 包含的品牌名称是 ["Apple", "Samsung", "Huawei"],那么 iceName 的值将是 "Apple,Samsung,Huawei"。map(iceView::getName) 方法对流中的每个 iceView对象调用 getName 方法,提取出品牌名称,生成一个新的流,其中每个元素都是一个品牌名称。原创 2025-02-17 08:44:54 · 346 阅读 · 0 评论 -
java记录:为确保selectOne不出异常的解决办法
因为代码是在执行一个查询操作,并且预期结果是唯一的(例如查找某个特定的保险政策),那么拼接 LIMIT 1 是合理的做法,以确保查询结果的唯一性和提高查询效率。在业务中,只需要通过条件查一条记录取其数据即可完成功能的情况下,有时候用selectOne会查出多条,其实都没错,只是需要的重点数据一样,只需一条。给查询最后带上"LIMIT 1"原创 2025-02-13 10:39:05 · 439 阅读 · 0 评论 -
SQL中,# 和 $ 用于不同的占位符语法
预编译处理:#{} 中的内容会被视为一个 JDBC 预编译语句的参数。直接替换:${} 中的内容会被直接替换为变量的值,不会进行预编译处理。这相当于将变量值直接拼接到 SQL 字符串中。存在 SQL 注入风险:由于是直接替换,如果输入未经严格校验,可能会导致 SQL 注入攻击。防止 SQL 注入:由于使用了预编译语句,可以有效防止 SQL 注入攻击。类型安全:MyBatis 会根据 Java 类型自动处理数据类型的转换。灵活性:适用于一些动态 SQL 场景,例如表名或列名的动态替换。原创 2025-01-03 10:26:55 · 877 阅读 · 0 评论 -
@Transactional 注解详解
注解是 Spring 框架中用于简化事务管理的强大工具。通过合理使用该注解及其属性,可以有效地管理和控制事务的行为,确保数据的一致性和完整性。原创 2024-12-19 13:08:23 · 992 阅读 · 0 评论 -
未曾加载Lodop主JS文件,请先调用loadCLodop过程TypeError: Cannot read properties of undefined (reading ‘PRINT_INIT‘)
在使用Lodop控件时,发现了几个问题,先分不同的情况先记一下,功能结束后再复盘。原创 2024-12-01 09:32:37 · 954 阅读 · 1 评论 -
vue中v-for的细节
通过在vue控制台调试可以发现v-for默认行为会尝试原地修改元素,比如原地修改了书架数据后,并不知道删的是哪个li的位置,就依旧把剩余的三个li的数据塞回前三个li进去了,而第一个li的背景颜色依然是粉色。所以在使用v-for时,还是要把唯一标识key加上,这样才能正确区分识别到每一个元素,不然需要前两个就只是直接放进去前两个的位置。3.推荐使用 id 作为 key(唯一),不推荐使用 index作为 key(会变化,不对应)1.key 的值只能是 字符串 或 数字类型。原创 2024-12-01 09:28:29 · 380 阅读 · 0 评论 -
通过 row 和 col 组件,并通过 col 组件的 span 属性完成1:1和2的组合布局
在页面布局的时候如果出现这种需要组合布局时,可以使用row 和 col 组件快速搭建。写两个值为12的span,把左侧和右侧元素分开放在里面,下面再写一个值为24的span放地址给短的设置值为12的span,有地址这种需要占一整行的再写一个值为24的span来放原创 2024-11-26 11:23:57 · 550 阅读 · 0 评论 -
Type definition error: [array type, component type: [simple type, class java.lang.String]]; nested e
然后这里批量执行没有问题,后端正常接收到数组,Arrays.asList把String [] ids转List后updateBatchById(ldList)查询,list.stream().forEach校验domain合法性后改字段状态、赋值,然后一股脑丢给updateBatchById就完了后端非常简单;首先记录一下业务类型,这是一个批量下发功能,点击下发按钮弹窗完善下发情况,除了要批量操作的业务id,还要改每一条的状态和加备注;/** 业务IDs */ String [] ids;原创 2024-11-25 10:02:34 · 2543 阅读 · 0 评论 -
使用Element的el-date-picker组件学习:下拉框基于一个时间段的查询功能
后端由于实体类继承了BaseEntity ,所以可以用Map params来接刚刚这两个参数即可。如图:是Element提供的基于时间段查询的组件, 例如查支付时间处于11.1到11.3时间段内的发货信息。xmll里面直接加上判空,接入业务字段进行时间段查询查询即可。前端需要先在config.js里面注册。最后记得在重置操作里单独给写一个置空。下面这个是用between写。条件查询里面直接使用即可。页面先在data中定义。原创 2024-11-25 10:01:34 · 562 阅读 · 0 评论 -
用stream().anyMatch判断list至少有一个状态为指定状态
比如循环判断对象集合中,至少要有一个对象的State为"0"List list=new List()list.stream().anyMatch(s->s.getState().equals("0"))原创 2024-11-09 08:37:51 · 209 阅读 · 0 评论 -
使用stream遍历对象集合,取出所有对象的某字段,并以逗号拼接起来
phoneBrands 是所有手机品牌数组,下面使用stream来把品牌名用逗号分隔 拼接起来。List phoneBrands = brandsService.getBrandsByIds(id);String phoneName = phoneBrands.stream().map(phoneBrands::getPhoneName).collect(Collectors.joining(","));原创 2024-11-07 10:05:03 · 658 阅读 · 0 评论 -
@Excel若依导出异常/解决BusinessBaseEntity里面的字段不支持导出
到这里一般就可以解决了,但如果到这里还不行可以试试我下面这个方法,通过反射去获取导出的实体类的父类的带@Excel注解的字段,再把子类的值赋值上来,进行导出。5.最后记得检查一下工具类是否含有get、set方法或者使用了lombok的情况下直接在类上加上@Data注解。3.所需要导出的字段是否加上@Excel注解。1.先看库里有没有数据。2.看字段名是否对其。原创 2024-11-01 16:52:18 · 1503 阅读 · 0 评论 -
$tab的所有用法以及vue关闭页面的方法汇总
然后如果有跳转需求,可以const obj = {path:"/xxx/xxx"}//然后打开新页面。点击新增和修改按钮时,把状态置为true即可进行显示,另外,如果需要$tab的其他方法汇总可以参考。新增和修改完成后,点击确定按钮就隐藏起来。点击取消按钮时把状态也置为false即可。在最外层绑定open。初始值设为false。原创 2024-10-31 22:11:28 · 851 阅读 · 0 评论 -
SQL查询未到期时间/有效期内的数据
遇到个需求是需要查询有效的一些数据,所以要以到期时间作为过滤条件,把到期时间大于到期时间的数据返回;可以直接用 < > 即可 到期时间是now( )原创 2024-03-21 17:47:40 · 952 阅读 · 0 评论 -
No primary or single unique constructor found for interface java.util.List‘
因为获取controller参数是在进入controller方法之前(因为需要转换成controller需要的参数),那是处理器映射过程中的问题。处理器映射需要将请求路径与@RequestMapping 匹配。这个过程还需要映射参数。而Spring MVC获取参数不带注解的唯一要求就是参数名和Http请求参数名一致。一般的 List 参数只是用逗号分隔。不会有所谓的名字,所以才有可能。解决办法是加上此注解即可。原创 2024-03-20 09:46:58 · 4429 阅读 · 0 评论 -
Mybatis传参parameterType方法汇总记录
在入参只有一个的情况下,Mapper.java中直接传即可、而在参数有两三个的情况下,Mapper.java中可以用@Param注解来指定入参.在单表查询时,一个实体类就可以满足所有查询条件入参 然后如果有了简单的表关联,一个实体类可能满足不了所有查询条件入参,可以建一个DTO什么的,继承于实体类,再设置特殊的参数 在复杂的多表关联情况下,可以直接创建一个Model,然后把实体类、DTO、VO甩进去,提供get、set方法即可 如果在某些多表关联条件下,字段数量不多,但存在于多个实体类,就可以不用创建mod原创 2023-09-07 17:32:18 · 3657 阅读 · 0 评论 -
java后端为前端提供接口,将数据以树形结构返回(工具类hutool.core.lang.tree)
这里直接上代码,基本可以直接拿去用,把父id和名称做对应的修改就完了,里面先把使用数据查出来,创建工具类并设置id、树结构标识ParentIdKey、名称,再调build方法把查出来的数据和工具类放进去就行了(其中。//父id 必填属性。log.info(JSONUtil.toJsonStr("tree数据:" + treeNodes));//父id在库里命名为groupId。原创 2023-04-28 16:09:40 · 1930 阅读 · 1 评论 -
团队长撤销报错500,因字段取消导致的查询异常
在团队管理里面可以给团队设置团队长,然后还可以点击"撤销按钮"进行撤销操作。但是撤销的时候一点击"撤销"按钮就直接报500服务器异常了。点击撤销按钮时,显示详细信息。进撤销方法 调这个接口。.........原创 2022-08-05 11:59:30 · 272 阅读 · 0 评论
分享