Mybatis-Plus报错:Invalid bound statement (not found)

Mybatis-Plus报错:Invalid bound statement (not found)

在spring boot项目中整合mybatis-plus后,使用中发现对自定义查询方法会报错:“Invalid bound statement (not found):***.“你的方法””,意味着在xml文件中无法找到你自定义的方法,尝试了多种方法,最终解决了问题,此问题存在以下几种情况:

一、Mapper文件和xml文件无法对应

1.检查Mapper文件和xml文件名称是否一致
UserMapperUserMapper.xml
2.检查xml文件中,namespace的属性配置,是否对应到了相应的Mapper文件
<mapper namespace="com.*.*.mapper.UserMapper">
3.检查xml文件中的方法绑定id是否一致
MapperList<User> getUserList();
xml:
    <select id="getUserList" resultType="com.*.*.entity.User">
        SELECT * FROM user
    </select>

二、xml文件放在不同级的resources目录下,未被打包到target中

默认是会全部打包的,检查POM文件中,是否配置了不将其打包的属性,修改一下
注:此配置是将resources目录打包,核对一下不同之处
	<build>
        <!-- 打包resources目录下的文件 -->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.*
                
            
        
     

(重点配置,也是我的问题所在)三、xml文件放在不同级的resources目录下,已打包到target中,仍无法找到对应方法

以为打包过后,就可以根据名称自行匹配,最后发现即便打包了xml文件,但和Mapper仍然属于不同级,所以检查是否缺少了匹配xml文件位置的Mybatis-plus配置
mybatis-plus.mapper-locations = classpath:mapping/*.xml
# 此配置中"mapping"对应你xml所在目录的名称

你可能感兴趣的:(Spring,Boot,MyBatis,JAVA,java,mybatis,maven)