前言:
因为这段时间准备弃坑Eclipse转向Idea,因此准备做一个小的Demo练手,适应下IDEA
整合时,Mapper映射文件和DAO接口是根据插件逆向生成,并且百分百没有出现任何错。因为有安装相关的Mybatis效验插件,自己也有使劲检查过。项目使用SSM框架搭建,使用Maven作为项目管理(出错的重点!!!)
但是但是运行缺出现如下错误:
Invalid bound statement (not found): pres.dao.BooksDao.selectById
废话不多说,如果你Maven和Idea为环境进行开发的条件下,请在pom.xml
文件加上
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>*/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
原因
我用的是intellij idea ,创建的是maven项目。maven的结构就不多了其中java是放置源码的resource是资源文件的,那么按照我们的以前学习mybatis的方法是建议把Mapper.xml的文件放在daomain里面和实体在一起的,淡然这不是一定的路径写对了,爱放哪里原则上没问题的 。可是idea明确了源码和资源文件的放置位置(maven项目),也就是说源码就要会被编译,当我把xml文件放在java目录下的daomian我再猜想是不是被编译了,才导致找不到方法。