Mybatis异常:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):......

1.异常产生的原因:

(1)namespace属性与类的路径不对应

(2)具体<insert><update>...的id属性不对应

(3)与mapper对应的实现类*Mapper.xml配置文件未被识别,(配置问题)

2.解决方案

对于(1)(2)都是粗心大意犯的错,自己仔细检查以后都可以解决!

如果以上(1)(2)都没问题还报错

可以使用下列不同解决方案!

①接口和实现的配置文件在同一目录下

可以直接在pom.xml添加如下代码,指定资源名称

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <!-- 此配置不可缺,否则mybatis的Mapper.xml将会丢失 -->
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <!--指定资源的位置-->
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.yml</include>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

 ②若*Mapper.xml配置类在resource目录下

        第一种方法:

在spring的配置文件中的SQLSessionFactory中加入如下配置,指定配置文件

        第二种方法:

                在resource目录下创建和mapper类相同的目录,将配置文件放进去

                

                 

 在spring配置文件里写上如下配置即可

 第三种方法:

        直接在mybatis配置文件中指定资源配置实现类                                                                         

 上述方法,亲测有效!


版权声明:本文为weixin_57882850原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。