MybatisPlus报错:BindingException: Invalid bound statement (not found): com...XxxMapper.insert

Mybatis-plus 绑定错误提示BindingException:Invalid bound statement的解决方法

    一般的原因是Mapper interface和xml文件的定义对应不上,需要检查包名,namespace,函数名称等能否对应上。
    若上述步骤都检查后还会异常检查下pom.xml文件

一般的原因是Mapper interface和xml文件的定义对应不上,需要检查包名,namespace,函数名称等能否对应上。

按以下步骤一一执行:
1、检查xml文件所在的package名称是否和interface对应的package名称一一对应

2、检查xml文件的namespace是否和xml文件的package名称一一对应

3、检查函数名称能否对应上

4、去掉xml文件中的中文注释

5、随意在xml文件中加一个空格或者空行然后保存
若上述步骤都检查后还会异常检查下pom.xml文件

查看是否有添加如下内容

注意:在使用IDEA开发时,如果打包时*Mapper.xml没有自动复制到class输出目录的mapper类包下,则需要在pom文件中添加mybatis加载配置文件的配置!

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*Mapper.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**</include>
                </includes>
            </resource>
        </resources>
    </build>

这是鉴于已经在application.yml中已经添加过以下代码(根据自己的路径进行修改):

mybatis-plus.mapper-locations=classpath:/com/example/computer/mapper/*Mapper.xml

同时你的xxxMapper文件需要添加@Mapper和@Repository.

你的xxxApplication启动类下,添加:

@MapperScan("com.example.computer.mapper")

注:括号中的路径是你的mapper路径。


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