Invalid bound statement (not found)这个问题的实质就是 mapper接口和mapper.xml没有映射起来
常见的低智商问题有下列几个:
1.mapper.xml 里面的 namespace与实际类不一样
mapper.xml 里面的 namespace应该是其对应的接口路径。这个有个快捷的检测办法就是按住ctrl键,然后点击namespace里面的包名,如果能跳到对应的类,那就说明没问题。
2.mapper接口的函数名称和mapper.xml里面的标签id不一致
这个问题也很常见,最好的办法还是复制过去,这样可以确保没得问题,1点和2点都是关于拼写错误的情况
3.构建没有进去,请看一下target文件夹下面这些是否存在,没有请重新构建
4.包扫描路径是否正确
检查mybatis的配置是否正确,需要配mapperLocations和typeAliasesPackage属性。
也可以在springboot启动类上面加@MapperScan注解,指定扫描路径
@MapperScan("xx.xx.xx.mapper")
5.配置文件写错
如果你是Mybatis的话请注意yml或者properties文件里面的
mapper-locations: classpath:mybatis/mapper/**/*.xml #这个地方是否写错
type-aliases-package: com.xx.xx.xx #是否对应实体类
如果你是Mybatis plus 这个时候你要注意了,mybatis plus是下面这样的配置,如果你发现1,2,3,4点的问题都没有问题,你需要注意一下这个东西
mybatis-plus:
type-aliases-package: xxx.xxxx.xxx.xxx
mapper-locations:
- classpath:mybatis/mapper/**/*.xml
参考:https://blog.csdn.net/qq_33259323/article/details/104660309