关于Invalid bound statement (not found)

在集成Spring和MyBatis时遇到DAO层无法执行SQL方法的问题,可能由于资源未正确配置。解决方案是在pom.xml中添加资源包含标签,确保XML配置文件被编译并输出到类路径下。清理target目录后再重新编译,可解决无法通过Spring创建DAO接口对象并使用其方法的故障。
摘要由CSDN通过智能技术生成

请添加图片描述
在做Spring和mybaits的集成时候,遇到了dao层没法和dao接口有效绑定的bug,明明可以得到dao接口创建的对象,但是却无法执行dao的任何mysql方法(Insert,Delete…):
可能有以下情况:
1.dao路径出问题,mapper标签的namespace值书写错误之类的。。。该类问题读者自行检查。
2.pom.xml文件中没有加入《resource》<include包含标签,maven进行编译的时候,仅仅将resource目录下的xml配置文件输出到类路径下面,而在java内的其他配置文件没有输出到classes类路径下,因此报错Invalid bound statement请添加图片描述

解决方法:
在pom配置文件中的《build》标签下,加入以下代码:

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

然后在使用maven清楚原先target文件:请添加图片描述

再此进行compile编译操作,即可发现原来类路径中java目录的xml文件也会被输出到classes类路径下,即可解决问题:请添加图片描述

完美解决能够通过spring创建dao的接口对象但是无法使用dao接口的方法问题!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值