SpringBoot-XML文件不能被打包问题

XML文件不能被打包问题

记录最近使用Mybatis-plus时,在自定义写多表查询语句的时候遇到的错误,方便以后解决。

我的工程项目结构,由于使用Mybatis-plus非常舒服的代码生成器,自动将xml放在了java包下。

image-20220306234729238

此时xml文件的sql语句,注意检查id是否与方法名对应,namespace是否与接口对应,resultMap的全类名是否对应,不然也会报错。

image-20220306234900108

检查没问题之后,报错如下:

image-20220306235321350

错误原因大致有两种:

  1. mapper方法名和.xml标签中的id属性未对应
  2. 没有编译.xml文件

此时查看target编译目录,发现src下的.xml文件未被编译

image-20220220132119349

这就是springboot会默认在java包下不打包xml等一些问题。

解决方法:

  1. 将.xml文复制到target中

  2. 将.xml文件放在resources中(使用此方法,注意id,namespace,resultMap是否对应)

  3. 配置编译方式和编译路径

    • pom中配置打包方式

      <!-- 项目打包时会将java目录中的*.xml文件也进行打包 -->
      <build>
          <resources>
              <resource>
                  <directory>src/main/java</directory>
                  <includes>
                      <!-- **表示多层目录,*表示一级目录 -->
                      <include>**/*.xml</include>
                  </includes>
                  <filtering>false</filtering>
              </resource>
          </resources>
      </build>
      
    • application.yml中配置文件mapper.xml所在路径

      mybatis-plus:                         # mybatis-plus日志
        mapper-locations: classpath:com/atguigu/eduservice/mapper/xml/*.xml
      

asspath:com/atguigu/eduservice/mapper/xml/*.xml
```

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值