Invalid bound statement (not found): com.example.wenda.dao.QuestionDAO.selectLatestQuestions

搭建springMVC+spring+mybatis maven项目,总是出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 错误。一般的原因是Mapper interface和xml文件的定义对应不上,需要检查包名,namespace,函数名称等能否对应上。仔细检查发现namespace等 并没有写错。。。

最后发现:Intellij Idea 的包名和目录名生成机制,新建一个包com.example.wenda.dao,目录结构不是com->example->wenda->dao的四个文件夹,而是生成文件名为"com.example.wenda.dao"的一个文件夹,进而导致mybatis映射错误,此错误很难排查。所以手动在对应目录下新建好文件com,文件example,文件wenda,文件dao,并将对应配置文件移至文件dao中,问题便解决了。

此外还有几点需注意,否则也会导致该错误:

1:检查xml文件所在的package名称是否和interface对应的package名称一一对应

2:检查xml文件的namespace是否和xml文件的package名称一一对应

3:检查函数名称能否对应上

4:去掉xml文件中的中文注释

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值