maven项目:Invalid bound statement

时间:2023-03-09 14:34:15
maven项目:Invalid bound statement

在使用maven做mybatis项目时会遇到这个问题,

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

原因:

1.使用原始方式开发时缺少接口的实现类。

2.使用代理开发时少映射的xml文件。

我遇到这个问题时使用的是代理开发,然而我是有映射的xml文件的呀

maven项目:Invalid bound statement

这里遵从代理开发的一个原则,映射类和对应的xml文件应该在同一个包中,编译之后我们看一下结果

maven项目:Invalid bound statement

没有看到xml文件,这就是报异常的原因啦。

使用maven的话还需要进行一个配置,因为maven只会处理resources中的配置文件,而mapper的xml文件是在java文件夹中的,所以被maven忽略掉了

解决mapper映射文件不拷贝的问题

需要修改dao工程的pom文件。添加如下内容:

<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>

把src/main/java下的*.properties和*.xml配置文件都放在resources中。