org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): (一个烦扰我近一天的问题)

前言: 其实这个问题看着很简单,就是mapper接口的实例创建失败。 因为mapper文件没读到或者mapper文件有错误:比如namespace写错 ,网上查这个问题,百度一大堆基本都差不多,没有解决。

            IDE:intelliJ idea 

解决方法:是IDE的锅啊! 

答:哦,原来是创建mapper接口对应的xml文件的文件夹的时候导致的问题,比如创建一个com.sandy.dao文件夹,直接创建的时候一次性输入com.sandy.dao, 那么有可能导致maven编译后路径解析不正常。

 

所以换一种姿势:先创建com,再在com上右键new package,输入文件夹名称,一级一级向下的手动创建,这样就不会导致maven编译后的路径出错啦。步骤如下图:

一:先创建com文件夹   

二:在创建好的com文件夹右键,再次创建文件夹,输入文件夹名称:sandy

在创建好的com.sandy文件夹右键    创建文件夹,输入文件夹名称:dao,  这样com.sandy.dao结构的目录就创建好了,这样maven就能正确的解析了! 

 


其实定位这个问题,直接去看target文件夹目录结构就知道了,正确的情况下UserDaoUserDao.xml文件会被编译到同一文件夹下,如下图:   

 

最后附上解决此问题的参考来源:

 

posted @ 2018-01-06 10:04  风茗  阅读(201)  评论(0编辑  收藏  举报