一般工程解决方案
- 检查mapper映射文件的namespace
- 检查mybatis核心配置文件的 < mapers> package路径是否对应
- 检查映射文件与接口里面的方法是否对应
- 去掉映射文件的空格或者中文注释
- resultType或者parameterType是否对应
Maven项目解决方案
由于maven项目在src/main/java中只编译java文件,其他的文件会被忽略,所以和mapper接口在同一目录下的mapper.xml在编译的时候会被忽略,但可以通过配置pom.xml,改变默认的设置,在pom添加如下坐标就可以解决这个问题
解决方法1
<build>
<!--mapper.xml文件和接口放同一文件夹下扫描不到-->
<!--maven打包会默认排除非java文件,所以此处需要配置-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
解决方法2
将mapper映射文件放在resources文件夹下面