看一个错误
很明显说是找不到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一下
项目调通了,框架可以接着往下走了,下一站 开始搭建前台页面了。