4.Invalid bound statement (not found): xxx] with root cause


问题描述:

在使用mybatis-plus过程中,新写的接口无法使用,检查了好几遍,mapper.xml没有问题,mapper接口也没问题,sql语句和.xml文件中的格式各种都没问题,但是测试就是报错。 报错结果如下:
2021-09-11 07:49:00.705 ERROR 20934 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.UmsMemberMapper.findTotal] with root cause

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.UmsMemberMapper.findTotal
	at com.baomidou.mybatisplus.core.override.PageMapperMethod$SqlCommand.<init>(PageMapperMethod.java:261) ~[mybatis-plus-core-3.0.5.jar:na]
	at com.baomidou.mybatisplus.core.override.PageMapperMethod.<init>(PageMapperMethod.java:58) ~[mybatis-plus-core-3.0.5.jar:na]
	at com.baomidou.mybatisplus.core.override.PageMapperProxy.cachedMapperMethod(PageMapperProxy.java:70) ~[mybatis-plus-core-3.0.5.jar:na]
	at com.baomidou.mybatisplus.core.override.PageMapperProxy.invoke(PageMapperProxy.java:63) ~[mybatis-plus-core-3.0.5.jar:na]
	at com.sun.proxy.$Proxy70.findTotal(Unknown Source) ~[na:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_292]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_292]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_292]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_292]
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.2.jar:5.3.2]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.3.2.jar:5.3.2]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.2.jar:5.3.2]
	at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) 

原因分析:

结合网上和自己的理解做出以下总结:
  1. 检查mybatis.xml文件namespace名称是否和Mapper接口的全限定名是否一致
  2. 检查Mapper接口的方法在mybatis.xml中的每个语句的id是否一致
  3. 检查Mapper接口方法返回值是否匹配select元素配置的ResultMap,或者只配置ResultType
  4. 检查yml文件中的mapper的XML配置路径是否正确
  5. 如果你还认为Mybatis中接口与映射文件一定要同名且放在同一个包下

这里遇到的问题就是mapper.xml文件修改后,并未更新到target中,所以一直导致无法初始化和mapper接口中对应的crud方法,
在run和debug的时候并未像类文件一样把.xml文件更新到target中。
我在尝试把target清除后重新run就好了。


解决方案:

我这里是上面第2条
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值