刚开始学mybatis框架,运行的第一个程序就出现了错误,用测试类读取数据库表中数据的时候报错
错误原因1:UserMapper.xml中没有和接口进行绑定
解决方法:将namespace改成dao层(mapper层)的接口文件即可,我的接口的路径是java/com/xiaoma/mapper/UserMapper,所以对应的namespace为:com.xiaoma.mapper.UserMapper
错误原因2:项目读取不到java文件夹下的配置文件
解决办法:在项目的pom.xml文件添加如下代码
1 <!-- 设置资源目录,使其可以读取dao(mapper)下xml文件-->
2 <build>
3 <resources>
4 <resource>
5 <directory>src/main/java</directory>
6 <includes>
7 <include>**/*.properties</include>
8 <include>**/*.xml</include>
9 </includes>
10 <filtering>true</filtering>
11 </resource>
12 <resource>
13 <directory>src/main/resources</directory>
14 <includes>
15 <include>**/*.properties</include>
16 <include>**/*.xml</include>
17 </includes>
18 <filtering>true</filtering>
19 </resource>
20 </resources>
21 </build>
错误原因3:UserMapper.xml这个文件没有被加载到mybatis的全局配置文件中,也就是没在mybatis-config.xml中做映射
解决办法:在mybatis-config.xml文件中的configuration中添加如下代码(注意自己的UserMapper.xml文件路径)
1 <mappers>
2 <mapper resource="com/xiaoma/mapper/UserMapper.xml"/>
3 </mappers>
我的是因为原因3,忘记向全局配置文件添加子配置文件的映射了,报这个错主要也是这三种原因,我的添加mappers后成功运行