在eclipse中的spring+mybatis maven工程项目导入idea中运行时,应用启动正常,但是测试某个方式时会报如下错误:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
网上的资料基本都是让检查mapper内容是否正确:
mapper.xml的namespace要写所映射接口的全称类名。
mapper.xml中的每个statement的id要和接口方法的方法名相同
mapper.xml中定义的每个sql的parameterType要和接口方法的形参类型相同
mapper.xml中定义的每个sql的resultType要和接口方法的返回值的类型相同
mapper.xml要和对应的mapper接口在同一个包下
mapper.xml的命名规范遵守: 接口名+Mapper.xml
但是项目在eclipse中运行是正常的,其实这是因为idea构建的问题,需要在pom.xml中添加如下配置:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>*/.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
将以上代码添加到pom.xml中,运行项目,问题解决。
如果是新建mybatis项目也报上面的错误,直接在pom.xml中添加如上配置即可。
网友评论