## The error may exist in SQL Mapper Configuration]) but failed to remove it when the web 报错

博主遇到报错,起初以为是自己写的Mapper.xml有问题,多次更改仍报错。后来通过按shift+shift搜索文件,发现项目中存在同名Mapper文件,将其改成不同名称即可解决问题。

报错信息:

严重: The web application [/cc] registered the JDBC driver [oracle.jdbc.driver.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
七月 09, 2019 11:13:21 上午 org.apache.catalina.loader.WebappClassLoaderBase checkThreadLocalMapForLeaks
严重: The web application [/cc] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@1f942568]) and a value of type [org.apache.ibatis.executor.ErrorContext] (value [
### The error may exist in SQL Mapper Configuration]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.

起先一直以为是自己写的Mapper.xml问题,几番更改,结果还是报一样错,我都有点怀疑人生,后来按shift+shift搜索文件,才发现项目中有同名Mapper文件……

改成不同即可。

### SQL Mapper Configuration 错误原因及解决方案 #### 1. 映射文件路径不正确 当遇到 `The error may exist in SQL Mapper Configuration` 的错误提示时,通常意味着 MyBatis 在加载 XML 配置文件时遇到了问题。如果指定的 `.xml` 文件路径不对,则会抛出找不到资源异常。例如: ```plaintext Caused by: java.io.IOException: Could not find resource mapper/BookInfo.xml ``` 这表明 IDEA 不会自动编译 `src/main/java` 下的 XML 文件到目标 classes 文件夹中[^2]。 #### 2. 资源过滤设置不当 对于 Maven 或 Gradle 构建工具来说,默认情况下可能不会处理 Java 源码目录内的非 Java 类型文件(如 XML)。因此需要调整构建配置来确保这些资源被正确打包。可以在项目的 pom.xml 中加入如下片段以启用资源复制功能: ```xml <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </build> ``` 这样可以使得所有的 .xml 文件也会被打包进入最终的 JAR/WAR 文件内。 #### 3. Mapper 接口与 XML 文件名称不符 另一个常见问题是 Mapper 接口类名与其对应的 XML 文件命名不符合约定俗成的标准——即接口全限定名为 `com.example.mapper.BookMapper` 则其关联的 XML 应该位于相同位置并命名为 `BookMapper.xml`。如果不一致则可能导致解析失败[^1]。 #### 4. Spring Boot 自动装配冲突 在某些框架组合下可能会发生自动装配机制干扰到了 MyBatis 的正常初始化过程。比如使用了 MyBatis Plus 并替换了默认的 sqlSessionFactory Bean 定义方式后引发 NullPointerException 异常情况: ```xml <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean"> ... </bean> ``` 此时应该仔细检查依赖版本兼容性和自定义 Bean 初始化逻辑是否合理[^5]。 #### 5. 编辑器编码或 BOM 字符影响 有时编辑器保存文件时附加了不必要的字节顺序标记 (Byte Order Mark, BOM),或者是不同平台间的换行符差异也可能造成读取困难。建议统一采用 UTF-8 编码无 BOM 方式存储所有配置文档,并保持一致性的换行风格[^4]。 通过以上几个方面排查和修正相应的问题点,大多数关于 "Error parsing SQL Mapper Configuration" 的报错都能够得到有效解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值