版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_29092471/article/details/55044524
maven管理的spring项目在打包install启动后,mybatis报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): …
错误描述:
项目使用mybatis作为持久层,整体框架使用spring-boot搭建,启动正常,在查询数据库时,就会报错,经过检查mapper.xml文件等等,发现namespace,接口方法名等等都没有写错,又因为是打包后才会报错,在打包前作测试没有错误。断定是打包后出现问题检查结果:
检查target文件目录下的mapper.xml文件,竟然发现没有xml文件,定位错误(在使用maven进行模块开发时,用的mybaties,会将配置文件放到dao层,而dao层的类型是jar,在打jar包时只会打包java文件,会将一些mapper映射文件或者properties文件给过滤掉,部署的时候会报找不到mapper配置文件等错误)解决办法,在pom文件中添加如下配置解决
<build>
<resources>
<resource>
<directory>src/main/resources/</directory>
<filtering>false</filtering>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.txt</include>
<include>**/*.ico</include>
</includes>
</resource>
<resource>
<directory>src/main/java/</directory>
<filtering>false</filtering>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>