mybatis-plus报错Invalid bound statement (not found)问题汇总
一、使用mybatis-plus的代码生成器后报错
既然是官方的,那肯定是经过广大人士检验的,所以不要怀疑是如下情况:mapper和mapper.xml映射问题、dao层和service层继承和实现的问题。大概率是自己的配置问题。
那么大致可分为这些情况:
1、配置问题:application.yml/.properties中mybatis-plus默认的mapper层中xml文件扫描
mybatis-plus:
mapper-locations: classpath*:/mapper/**/*.xml
本人傻傻地写成如下代码,导致花费了1多小时才找到,满脸都是泪啊!!!
mybatis-plus:
mapper-locations: classpath*:/mapper/**/.*xml
如果没必要mybatis-plus的mapper-locations不要写,用默认的
2、**@MapperScan注解扫描问题**:全类名(也就是Copy Reference的值)扫描自己dao层或mapper层的包
正确方式如下
@MapperScan("com.XXXX.dao")
或是
@MapperScan(basePackages ="com.XXXX.dao")
3、编译后的target中的xml文件问题(IDEA编译问题):配置文件要找的是mapper//*.xml而不是mapper..*.xml
- 正确层级目录
- 错误层级目录
二、使用mybatis报这个错
不管有没有问题,强烈建议IDEA装个插件:
这样有关mapper层和mapper.xml中是否存在映射就显而易见:
1、最容易忽略的IDEA编译问题: 实在找不到问题,看看编译后的target目录下的配置文件内容是否更新了。有时会遇配置文件改了,运行却没生效,结果是编译后的文件内容没更新。
2、多模块相互调用mapper,其中mapper重名引发的报错
3、其他问题可能与使用mybatis-plus的代码生成器后报错类似
再具体的解决方法的参考链接: https://blog.csdn.net/mashangzhifu/article/details/122808181
版权归原作者 龍腾万里 所有, 如有侵权,请联系我们删除。