maven 项目,mybatis报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_29092471/article/details/55044524

maven管理的spring项目在打包install启动后,mybatis报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): …

  1. 错误描述:
    项目使用mybatis作为持久层,整体框架使用spring-boot搭建,启动正常,在查询数据库时,就会报错,经过检查mapper.xml文件等等,发现namespace,接口方法名等等都没有写错,又因为是打包后才会报错,在打包前作测试没有错误。断定是打包后出现问题

  2. 检查结果:
    检查target文件目录下的mapper.xml文件,竟然发现没有xml文件,定位错误(在使用maven进行模块开发时,用的mybaties,会将配置文件放到dao层,而dao层的类型是jar,在打jar包时只会打包java文件,会将一些mapper映射文件或者properties文件给过滤掉,部署的时候会报找不到mapper配置文件等错误)

  3. 解决办法,在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>

猜你喜欢

转载自blog.csdn.net/baidu_29092471/article/details/55044524