IDEA中MyBatis的mapper文件 实体类名报红 Cannot resolve symbol ‘XXX‘

您所在的位置:网站首页 xml中自定义实体的关键字有哪些 IDEA中MyBatis的mapper文件 实体类名报红 Cannot resolve symbol ‘XXX‘

IDEA中MyBatis的mapper文件 实体类名报红 Cannot resolve symbol ‘XXX‘

2023-05-24 08:02| 来源: 网络整理| 查看: 265

问题描述

使用IDEA,Spring Boot整合MyBatis开发时,写Mapper文件时,实体类名报红 在这里插入图片描述

其实我已经在Spring Boot的配置文件application.yaml中配置了MyBatis对于实体类别名应该去找的路径,

mybatis: # 这样就可以在mapperXML中用简单的Account代替冗长的com.sapi.entity.Account type-aliases-package: com.sapi.entity

并且运行项目也没有任何error,证明项目代码是没有问题的。

看了这篇帖子 https://blog.csdn.net/m0_38050722/article/details/104990868 后才明白原来是在IDEA上装的MyBatis插件的锅, 把最热门的几个MyBatis插件都挨个试了一下,好像都有这个问题……但是如果就因为这个而停用MyBatis插件,意味着要放弃 MyBatis 插件的静态检测、跳转定义等等功能,实在是因噎废食

解决方案

我发现这个问题在Spring MVC项目中是不存在的,原因是在 Spring MVC项目中要写MyBatis的配置文件,MyBatis插件会检测到这个配置文件中对实体类别名的配置,类似于这样的

当 MyBatis 插件检测到这段配置后,就能把 mapper 文件中的实体类名(例如Account)识别为全路径的包名(例如com.sapi.entity.Account)。

所以,借助于 MyBatis 插件的这个特性,我的解决方案是创建一个哑的 MyBatis 配置文件,说它是哑的(dummy),是因为这个文件对于项目来说压根没有作用,仅仅是写给IDEA上安装的 MyBatis 插件看的。

具体来说,就是在resouces目录下扔一个xml文件,文件名可以任意取,内容为:

不得不说这个方案并不完美,只好希望有能对Spring Boot项目支持好一点的 MyBatis 插件出现吧。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3