SpringBoot&Mybatis 在@Test 中 出现Binding Invalid bound statement

程序可以正常运行 但是只要一使用Spring test就出错
Binding Invalid bound statement(not found) 其实就只找不到XML

Debug 找到点是在 sessionFactory.setMapperLocation 的时候
classpath 映射到了 target/test-classes 中 导致找不到资源 而正常启动的话是target/classes

clipboard.png

但是网上大多数对于mapper-location做法都是
classpath:**/xml
并且使用@Test测试没有问题

为什么我这里@test classpath 就会这样呢

那么现在如何在 test 和 正常运行 中都使用能找到这个mapper.xml

我查了好多找不到我漏弄了什么

不要说把mapper转到包里, 我之前项目就是这样配置的.
我就想知道我现在按照网上配置失败的原因 不太了解Spring boot test
谢谢了

阅读 3.4k
2 个回答

输出路径没有配置好就是在放屁.
我觉得就是输出路径配置好了.
编译后的classes 有相应的资源文件
但是test的classpath对应的不是classes 而是test-classes 这就很难受了

现在是在test的时候增加环境变量 使得各个模块在test中从classpath读取文件的时候都从原来的classes寻找而不是在test-classes寻找

工具是idea么,是的话应该是输出路径没有配置好

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题