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

被折叠的 条评论
为什么被折叠?



