关于Mybaits的Mapper文件的路径问题

看一个错误

很明显说是找不到mapper的实现方法,我曾一度以为是自己的框架搭建的有问题,后来有看了一遍教程。发现自己忽略了一个问题,mapper文件和实体类是通过逆向工程生成的,以前的经验都是把生成的xml文件放在resouces文件夹下面的,这次根据建议是放在和实体类统一路径下面,可以方便查找xml文件。

因此现在的项目路径为

在默认的情况下,maven在进行打包的时候,对于java目录闲的只会打包源代码,不会去打包其他文件,也就是说如果我们只像上面这种路径的话在target文件中是没有xml文件的。我们把mapper项目clean install一下

这里是没有我们所需要的xml文件的。知道了原因,那么解决方法就好理解多了,大体上主要有两种解决思路。

1.可以修改mapper文件的路径

  将xml文件放在resources文件夹下面,这样在打包的时候就会打包到war包或者 jar包中,需要注意的一点是,resouces文件夹尽量创建和 java一样的包路径,重新compile一下项目

 

 可以实现我们的需求,这里的包路径是一样的,如果不一致的话 需要修改 spring-dao.xml 告诉mybatis去哪里寻找这些xml文件

加上我注释掉的这段代码,路径配置的和实际的一样就行了。

2.修改maven的pom.xml文件

在build节点下 增加

 <!--
 这样也可以把所有的xml文件,打包到相应位置。
-->
 <resources>
     <resource>
         <directory>src/main/resources</directory>
         <includes>
             <include>**/*.properties</include>
             <include>**/*.xml</include>
             <include>**/*.tld</include>
         </includes>
         <filtering>false</filtering>
     </resource>
     <resource>
         <directory>src/main/java</directory>
         <includes>
             <include>**/*.properties</include>
             <include>**/*.xml</include>
             <include>**/*.tld</include>
         </includes>
         <filtering>false</filtering>
     </resource>
 </resources>

这样在打包的时候也会将mapper文件打包到/target文件夹中。clean compile一下

项目调通了,框架可以接着往下走了,下一站 开始搭建前台页面了。

posted @ 2018-04-19 11:18  一网瘾少年  阅读(822)  评论(0编辑  收藏  举报