发此文章记录折磨过我的错误!!!
1.问题
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
Springboot项目中,在mybatis中mapper数据库操作接口(有的称DAO,有的直接说mapper,都只同一文件)与mapper配置文件在做映射绑定的时候出现问题,简单说,就是接口与xml要么是找不到,要么是找到了却匹配不到。
2.原因导致 Invalid bound statement (not found)的可能原因有:
1)xml文件所在package名称和mapper interface所在的package name不一致,mapper 的namespace写的不对,需要修改。
标签的id名与mapper接口中的方法名保持一致,即一摸一样
mapper映射的xml文件示例:(基于springboot)看清楚地址一定不要错
2)一定要到与Test包,并且加上注释
import org.junit.Test;
3)检查启动类@MapperScan的扫描范围,避免没有扫到
@MapperScan("com.xingong.yymall.dao")
4)我认为最重要的,而且也是折磨我一上午的错误大家看我的代码:
二级查找三级查找的property要变化一定要注意这一点,否则就会提示
org.mybatis.spring.MyBatisSystemException:
nested exception is org.apache.ibatis.reflection.ReflectionException:
There is no getter for property named
'categoryVOMap' in 'class com.xingong.entity.CategoryVO'
没有找到包下的嘞也就是标题出现的Invalid bound statement (not found)