IDEA使用mybatis-plus 时出现的问题 Property ‘mapperLocations‘ was not specified &Invalid bound statement

踩坑 IDEA默认是不解析xml的
引言:
对于IDEA系列编辑器,XML 文件是不能放在 java 文件夹中的,IDEA 默认不会编译源码文件夹中的 XML 文件。

我在使用IDEA 编写Mybatis-plus时,写的自定义SQl语句总是显示 Invalid bound statement (not found)
根据报错信息可以看到是Mapper中自己写的自定义方法 没有绑定相应的SQL语句

检查了一遍配置,都没有问题,而Sprinboot启动时 log中Property 'mapperLocations' was not specified这句提示引起了我的注意

配置中配置了mybatis-plus.mapper-locations=classpath*:**/mapper/xml/*.xml,但启动器没扫描到,十分奇怪。

后来才知道从Mybatis-plus 官方文档找出了答案
因为对于IDEA系列编辑器,XML 文件是不能放在 java 文件夹中的,IDEA 默认不会编译源码文件夹中的 XML 文件。
果然我在POM中没有指明解析xml,在启动后生成的target 目录下文件的mapper包下没有找到相应的xml

解决方法

将配置文件放在 resource 文件夹中
对于 Maven 项目,可指定 POM 文件的 resource

<build>
  <resources>
      <resource>
          <!-- xml放在java目录下-->
          <directory>src/main/java</directory>
          <includes>
              <include>**/*.xml</include>
          </includes>
      </resource>
      <!--指定资源的位置(xml放在resources下,可以不用指定)-->
      <resource>
          <directory>src/main/resources</directory>
      </resource>
  </resources>
</build>


注意!Maven 多模块项目的扫描路径需以 classpath*: 开头 (即加载多个 jar 包下的 XML 文件)

再次启动,启动内加载到了xml
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值