SpringBoot聚合工程找不到mapper文件

本文介绍如何使用Maven正确地将XML文件包含到最终的Jar包中,通过配置<build>标签下的<resources>部分来确保所有必要的XML资源被正确打包。

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

考虑一下是不是Maven打Jar包的时候有没有把XML文件打进jar包

 

<build>  
    <finalName>test</finalName>  
     
   <!-- 这样也可以把所有的xml文件,打包到相应位置。 -->
    <resources>  
        <resource>  
            <directory>src/main/resources</directory>  
            <includes>  
                <include>**/*.properties</include>  
                <include>**/*.xml</include>  
                <include>**/*.tld</include>  
            </includes>  
            <filtering>false</filtering>  
        </resource>  
        <resource>  
            <directory>src/main/java</directory>  
            <includes>  
                <include>**/*.properties</include>  
                <include>**/*.xml</include>  
                <include>**/*.tld</include>  
            </includes>  
            <filtering>false</filtering>  
        </resource>  
    </resources>  
</build>  

 

### 解决Spring Boot与MyBatis Plus集成时测试中不到Mapper的问题 #### 1. 配置文件设置 确保`application.yml`或`application.properties`中的配置正确无误。对于YAML格式的配置文件,应当包含如下内容: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC username: root password: your_password driver-class-name: com.mysql.cj.jdbc.Driver mybatis-plus: configuration: cache-enabled: false log-impl: org.apache.ibatis.logging.stdout.StdOutImpl mapper-locations: classpath*:mapper/*.xml ``` 上述配置指定了数据库连接信息以及MyBatis-Plus的相关属性,特别是`mapper-locations`用于指定映射文件的位置[^1]。 #### 2. Maven构建工具配置 在项目的POM文件内加入必要的插件支持XML资源加载: ```xml <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.yml</include> <include>**/*.xml</include> </includes> </resource> </resources> </build> ``` 这段代码使得Maven能够识别并打位于`src/main/resources/mapper`目录下的`.xml`文件到最终的JAR中。 #### 3. Mapper接口扫描路径设定 通过添加`@MapperScan`注解于应用程序入口类上,可以明确告知框架去哪里寻Mapper接口及其对应的XML文件: ```java package cn.wbnull.springbootdemo; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("cn.wbnull.springbootdemo.mapper") public class MybatisPlusApplication { public static void main(String[] args) { SpringApplication.run(MybatisPlusApplication.class, args); } } ``` 这里设置了要扫描的Mapper接口所在的名,从而让Spring自动装配这些Bean实例[^2]。 #### 4. 测试环境特殊处理 当运行单元测试时,默认情况下可能会忽略掉某些开发阶段才有的配置项。因此,在编写测试案例之前,建议创建专门针对测试场景的应用程序上下文配置文件(如`application-test.yml`),并将该文件放置于`src/test/resources`下。同时,在启动测试前需激活此profile: ```bash -Dspring.profiles.active=test ``` 另外一种方式是在测试类上方加上`@ActiveProfiles("test")`注释来达到相同效果[^4]。 #### 5. 调试技巧 如果仍然遇到问题,则可以通过启用SQL日志打印功能来进行排查。修改`application.yml`内的相应选项即可开启详细的执行记录输出至控制台,便于观察实际发生的查询语句是否符合预期[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值