转载

Invalid bound statement (not found)

搞Mybatis的时候出现一个错,报错信息如题.

主要是映射文件加载的问题.

假如java文件夹中跟resources文件夹中的目录是一一对应,也就是下面这样

main java com swifter mapper UserMapper.java
resources com swifter mapper UserMapper.xml

上面这样的实际目录结构(在文件夹中)是不会有问题的,java文件跟xml文件会打包到同一个目录下,如下图

Invalid bound statement (not found)

但是通过idea在resources中创建的实际目录结构是下面这样┑( ̄Д  ̄)┍

main java com swifter mapper UserMapper.java
java com.swifter.mapper UserMapper.xml

打包之后实际目录结构如下图,xml文件被打包到一个名叫com.swifter.mapper的文件夹,这就导致xml文件找不到.

Invalid bound statement (not found)

解决方法:

  1. 实际文件夹中创建文件结构
  2. java跟xml文件放到同一个文件夹,然后在pom.xml中添加如下内容:
<build>
        <!-- 这个元素描述了项目相关的所有资源路径列表,例如和项目相关的属性文件,这些资源被包含在最终的打包文件里。 -->
        <resources>
            <resource>
                <!-- 描述存放资源的目录,该路径相对POM路径 -->
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

--EOF--

原文  https://jingxuetao.com/invalid-bound-statement-not-found/
正文到此结束
Loading...