【编程问题】解决 mapper.xml 文件的 resultType 爆红问题:Cannot resolve symbol ‘xxx‘ | 您所在的位置:网站首页 › mybatis注解mapper爆红 › 【编程问题】解决 mapper.xml 文件的 resultType 爆红问题:Cannot resolve symbol ‘xxx‘ |
解决mapper.xml文件的resultType爆红问题:Cannot resolve symbol 'xxx'
1.问题描述2.问题分析3.问题解决3.1 配置注解(推荐)3.2 配置全类名3.3 删除插件
4.事件感悟
系统:Win10 JDK:1.8.0_333 IDEA:2022.2.4 SpringBoot:2.7.6 1.问题描述在一次开发 SpringBoot 项目时,配合使用 MybatisPlus 返回实体类时,配置的 mapper.xml 文件的 resultType 属性爆红,鼠标放上去提示: Cannot resolve symbol ‘TmsTb01’ 如下图所示: 打开对应的Mapper文件,可以发现对应的方法也是爆红,鼠标放上去提示: Result type not match for select id=“selectByTime” srcType: targetType: com.electric.srm.entity.tms.TmsTb01 如下图所示: 2.问题分析这里我查了一下,发现网上有各种各样的可能会导致这个问题,我这里将我这个项目的情况描述下 1. 项目运行没有问题(说明代码都是对的,该配置的都已经配置好了,只是显示的问题) 比如这里的 type-aliases-package: com.electric.srm.entity 别名扫描我都是配置好了的2. 没有多余或少插件(这里看到其他人有可能装了什么不该装的插件,或者少了什么插件,我这里都不是) 比如什么 Lombok 插件我是装了的 3.问题解决 3.1 配置注解(推荐)在返回实体类上添加一个注解:@Alias(“TmsTb01”),这里可以看到添加之后,resultType就不会爆红了 3.2 配置全类名这里我们如果将 resultType 改为全类名,也可以达到消除爆红的效果(已测试),不过这样显得我们配置的别名扫描很笨,所以我就没用这个方案 3.3 删除插件我看到还有一种方案是,删除 MybatisX 插件,这个插件用起来挺可爱的,我就没考虑这个方案,不过感觉应该有效 4.事件感悟这次从发现这个问题到处理这个问题,花了我大概两个小时,虽然这个问题不影响项目的正常运行,不过当我看到这些爆红的提示,那是相当的难受,稍微有点强迫症。不过这上面三种解决方案还不是我理想的解决方案,我感觉既然代码能够运行,没有报错,那说明代码就是正确的,为什么会提示红色报错呢。 我感觉大概率是 MybatisX 的问题导致的这个报错问题,希望后面这个插件能够更新处理这个问题,或者有人打脸说不是这个问题,给我一个更好的解决方案。 在这次解决问题的过程中,我也想过有没有可能是依赖的版本问题,或者配置问题,说到底还是学艺不精、功力不厚,希望后面能够不断学习,逐渐成长,遇到 BUG 不要害怕,而是勇敢的面对它,坚持就是胜利,奥利给。 |
CopyRight 2018-2019 实验室设备网 版权所有 |