报错信息
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
就像血常规一样常规的问题, 明显的是没扫描到xml
文件嘛, 简单
抽风一样的解决
然后灾难就开始了
首先配置application.yml
mybatis-plus:
mapper-locations: classpath:/com/XXX/**/*.xml
其次配置pom.xml
<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>
自信满满,启动, 好嘛, 同样的错误, 去查官方文档:
一模一样的解决方法:
这怎么有错呢? 不应该吖, 然后陷入抽风状态, 开始各种搜索, 修改,但是百变不离其中, 还是这几个地方.
冷静解决
仔细想想, 哪里不对呢? 和官方哪里有差别呢?
然后发现application.yml 好像没有完全一致, 那么一切以官方为主, 不一样的就改成一样的.
最终发现, 是因为用的办法不伦不类造成的, 博主是直接在mybatis-plus 提供的xml文件下直接增加的sql, 然后就造成了怎么都解决不掉报错问题
那么问题锁定, 开始解决, 将方法、sql提取, 放到一个新的类里, sql放到resources/mapper
下, 将application.yml改成官方配置:
mybatis-plus:
mapper-locations: classpath:/mapper/**/*.xml
再次启动, 成功!!
总结
基础很重要, 基础不牢就要踩坑!!
mybatis-plus 与mybatis使用方式略有不同, 不要混用