mybatis 解决不能找到mapper.xml配置文件的问题 配置文件无法生效或导出

当XML或properties配置文件放置在src/main/java而非src/main/resources下时,程序无法找到Mapper.xml,导致ExceptionInInitializerError。解决方法包括在pom.xml中添加资源过滤配置,或直接将配置文件移动到resources目录。正确配置后,target目录下会生成对应的class文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:
因为xml或properties配置文件要放在resources目录下才能被找到,但是我放在了java目录下,所以找不到Mapper.xml:
在这里插入图片描述
在这里插入图片描述
报错信息:

java.lang.ExceptionInInitializerError
Caused by: java.io.IOException: Could not find resource com/zyr/dao/UserMapper.xml

解决方法1:将src/main/java目录下的资源过滤开启即可,在pom.xml中的build标签里添加以下配置

      <resources>
        <resource>
          <directory>src/main/java</directory>
          <includes>
            <include>**/*.xml</include>
            <include>**/*.properties</include>
          </includes>
        </resource>

        <resource>
          <directory>src/main/resources</directory>
          <includes>
            <include>**/*.xml</include>
            <include>**/*.properties</include>
          </includes>
        </resource>
      </resources>

解决方法2:将.xml配置文件移动到resources目录下:
在这里插入图片描述
在这里插入图片描述
运行成功后,target目录下也生成了对应的class文件:
在这里插入图片描述

<== Total: 1 Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@62594c4d] Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@62594c4d] Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@62594c4d] 2025-03-09 20:26:04 [http-nio-9211-exec-3] [INFO ] com.rabbiter.association.controller.TeamsController 101 - 分页查找社团信息,当前页码:1,每页数据量:10, 模糊查询,附加参数:Teams [id=null, name=null, createTime=null, total=null, manager=null, typeId=null] Creating a new SqlSession Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f536961] JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@7a192fc0] will be managed by Spring ==> Preparing: SELECT COUNT(*) FROM teams ==> Parameters: <== Columns: COUNT(*) <== Row: 3 <== Total: 1 ==> Preparing: SELECT id,name,create_time,total,manager,type_id FROM teams ORDER BY create_time DESC LIMIT ? ==> Parameters: 10(Long) <== Columns: id, name, create_time, total, manager, type_id <== Row: 1741452516819, 计算机协会, 2025-03-09, 2, 1689228178877, 1689228308945 <== Row: 1741452639699, 马克思协会, 2025-03-09, 1, 202501, 1689228383521 <== Row: 1741523164040, 吉他协会, 2025-03-09, 1, 1741445084053, 1740416101729 <== Total: 3 Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f536961] Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f536961] from current transaction ==> Preparing: SELECT id,user_name,pass_word,name,gender,age,phone,address,status,create_time,type FROM users WHERE id=? ==> Parameters: 1689228178877(String) <== Columns: id, user_name, pass_word, name, gender, age, phone, address, status, create_time, type <== Row: 1689228178877, admin1, 123456, 社长张三, 男, 22, 14777777777, 北京市海淀区, 1, 2024-11-11 20:05:00, 1 <== Total: 1 为什么导出不了
最新发布
03-10
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值