1.异常产生的原因:
(1)namespace属性与类的路径不对应
(2)具体<insert><update>...的id属性不对应
(3)与mapper对应的实现类*Mapper.xml配置文件未被识别,(配置问题)
2.解决方案
对于(1)(2)都是粗心大意犯的错,自己仔细检查以后都可以解决!
如果以上(1)(2)都没问题还报错
可以使用下列不同解决方案!
①接口和实现的配置文件在同一目录下
可以直接在pom.xml添加如下代码,指定资源名称
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<!-- 此配置不可缺,否则mybatis的Mapper.xml将会丢失 -->
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<!--指定资源的位置-->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.yml</include>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
②若*Mapper.xml配置类在resource目录下
第一种方法:
在spring的配置文件中的SQLSessionFactory中加入如下配置,指定配置文件
第二种方法:
在resource目录下创建和mapper类相同的目录,将配置文件放进去
在spring配置文件里写上如下配置即可
第三种方法:
直接在mybatis配置文件中指定资源配置实现类
上述方法,亲测有效!