使用IDEA整合Spring和Mybatis,报出org.apache.ibatis.binding.BindingException:Invalid bound statement问题

1、简介
第一次使用IDEA的maven搭建java web项目,和eclipse比感觉有点头疼,头次感觉eclipse比IDEA好用,可能是没有用习惯的缘故吧!好了我来说一下我在搭建Spring和Mybatis整合遇到的坑,最后经过多方搜索和对比解决了问题。

2、细节问题
在网上找了很多的细节问题(如下,摘自https://blog.csdn.net/sundacheng1989/article/details/81630370),然后和我的做对比发现没有任何的问题:
使用IDEA整合Spring和Mybatis,报出org.apache.ibatis.binding.BindingException:Invalid bound statement问题_第1张图片
3、根本原因
我看了我的mybatis工程发现mapper文件和接口在main的同包下,经过maven的clean install查看target文件发现,如下图(3-1):
使用IDEA整合Spring和Mybatis,报出org.apache.ibatis.binding.BindingException:Invalid bound statement问题_第2张图片
发现根本没有把mapper的文件给编译进来,在执行操作的时候才会报出org.apache.ibatis.binding.BindingException:Invalid bound statement错误。
然后我又把mapper文件给放入resources的文件夹下发,经过clean install查看target文件发现,如下图(3-2):
使用IDEA整合Spring和Mybatis,报出org.apache.ibatis.binding.BindingException:Invalid bound statement问题_第3张图片
感觉有点莫名其妙,明明包名相同为什么不放在一个文件夹下,还分开放,好吧执行数据库操作仍然报上面的错误,无奈。。。。
4、解决办法
把mapper文件和接口放在java的同一目录下,如图(3-1)的解决方法是在mybatis工程的pom文件加入:


        
            
                src/main/java
                
                    **/*.xml
                
            
        
    

原因是因为 idea默认是不编译 src\main\java下的xml文件

加入之后在使用maven -> clean 在 install 就会在编译后的target文件下发现mapper文件和mapper接口在一放起了,
使用IDEA整合Spring和Mybatis,报出org.apache.ibatis.binding.BindingException:Invalid bound statement问题_第4张图片
在执行操作发现已经成功了,到这里已经解决了,但在resource文件夹下还不知道怎么解决,欢迎指教!额,浪费了两天的时间在瞎转悠,特此记录一下。。

你可能感兴趣的:(使用IDEA整合Spring和Mybatis,报出org.apache.ibatis.binding.BindingException:Invalid bound statement问题)