java.io.IOException: Could not find resource mapper/ProductCategoryMapper.xml 解决方案
java.io.IOException: Could not find resource mapper/ProductCategoryMapper.xml 解决方案
一、问题背景
通过 MyBatis Plus 测试 达梦数据库过程中,运行测试类的时候,项目报错:“java.io.IOException: Could not find resource mapper/ProductCategoryMapper.xml”
工程的目录结构如下:
mybatis-config.xml 文件内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- <!– 引入 db.properties 文件 –> -->
<properties resource="jdbc.properties"></properties>
<!-- 配置 mybatis 运行环境-->
<environments default="development">
<environment id="development">
<!-- 配置事务管理,采用 JDBC 的事务管理 -->
<transactionManager type="JDBC"/>
<!-- POOLED:mybatis 自带的数据源,JNDI:基于 Tomcat 的数据源 -->
<!--使用 DB.properties-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!-- 将 mapper 文件加入到配置文件中 mapper 文件是写 SQL 语句的文件 -->
<mappers>
<!--普通数据的增删改查/-->
<mapper resource="mapper/ProductCategoryMapper.xml"/>
<!--大字段的操作/-->
<mapper resource="mapper/BigDataMapper.xml"/>
</mappers>
</configuration>
二、原因分析
没有将 resources 目录设置为资源根目录,因为IntelliJ IDEA检索 mybatis-config.xml 文件及其配置时,默认从资源根目录去查找,而此时的 resources 是一个手动创建的普通目录,IntelliJ IDEA是不会去检索。
三、解决方案
将 resources 设置为资源根目录即可,设置过程如下:
右键点击 resources 目录,选择"Mark Directory as"--> "Resources Root"
设置后,测试类即可正常运行,运行效果如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)