Java报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.sirifeng.babytun.dao.GoodsDAO.findById

前言

最近学vue学得差不多了,想来搭个项目实战一下,结果刚开始搭建SSM框架的时候就来到了我们最喜欢的debug环节
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):com.sirifeng.babytun.dao.GoodsDao.findById
mybatis说得也很清楚了,就是没有找到findById这个方法,这种情况基本上就是mapper接口没有找到xml文件

接口名与Mybatis的映射文件名一致

我用的的是springboot的mybatis启动器,version:2.1.4 暂时没遇到这个问题,de不出bug的可以参考一下这个大佬的文章
解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题

resources文件目录的问题

在IDEA中,src目录可以用.来分级,但是resources目录需要/分级,详情

application.properties里的mybatis配置的路径

mybatis.mapper-locations=classpath:mybatis/mappers/*.xml
我用的aliyun的start,所以自动生成了配置路径,但是!!!他的文件名mappers,我创建是文件名是mapper
一个字母让我改一个小时系列!!!

xml文件放在java目录里

这种情况应该是IDEA在生成target的时候,没有把xml文件加载在里面,这里需要在pom.xml文件里添加resources路径,详情

总结

以上就是网上差不多遇到的问题了,写配置文件的时候一定要细心,字母的大小写,英文状态下的标点符号...

原文地址:https://www.cnblogs.com/Fzeng/p/14377083.html