Invalid bound statement 无效的绑定的解决办法

异常信息如下:
Invalid bound statement 无效的绑定的解决办法_第1张图片
出现问题的原因:

  • 检查xml文件的namespace是否正确
  • Mapper.java的方法在Mapper.xml中没有,然后执行Mapper的方法会报错。
  • xxxMapper.java的方法返回值是List,而select元素没有正确配置ResultMap,或者只配置ResultType
  • 检查配置文件是否配置了 mybatis.mapper-locations= classpath:xxx/*.xml。

而我的问题是:
我的xml文件写在了java目录里面。

Invalid bound statement 无效的绑定的解决办法_第2张图片

这样会出现一个问题,即使配置了 mybatis.mapper-locations= classpath:xxx/*.xml,也没有用,因为编译的时候这个xml文件并没有被自动拉到target里面,毕竟编译的是.java文件而不是xml嘛,所以这时候应该在pom文件里面加上:

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties
                    **/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.yml
                    **/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

然后重启项目,再次访问接口,可以发现问题就解决了。

你可能感兴趣的:(异常收集,mybatis,java)