解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题
今天用idea自己创建另一个新的springBoot项目, 在配置Mybatis的时候,遇到了一个难题,
问题描述:
xxxxMapper.xml文件的防止地址,从src/main/java/xxx/mapper中改到了src/main/Resource/xx中,我已经写好了 mapper.java 和 mapper.xml并都一一对应好了namespace 等。但是报错,说找不到xml,
pom.xml做了配置如下:
application.yml 配置了Mybatis:
mybatis:
type-aliases-package: com.sys.xxxx.pojo
mapper-locations: classpath:/resources/xxx/*.xml
找了很多的文档,都没哟解决办法,都是说:
1.确定配置文件中是否正确加载mapper接口文件和mapper.xml文件
2.确定mapper.xml文件中,映射的<mapper namespace>是正确的mapper接口文件所在路径
3.使用maven打包当前模块,查看target文件夹中是否有mappper.xml文件<想必大部分第一次用idea开发的人都会是这个问题导致的异常>
等等。但是并没有解决我的问题,后来找到一篇文章说是因为在resource中的xml文件要和mappe 的包的层级一样:
https://www.cnblogs.com/lixiaobin123/p/12651510.html
修改之后如下:
application.yml文件中的Mybatis配置如下:
mybatis:
type-aliases-package: com.sys.witc.pojo
mapper-locations: classpath:/resources/com/sys/aaa/mapper/*.xml
mapper的路径:
com/sys/aaa/mapper
问题就解决了。仅此参考,每个人的情况不同。