剛開始學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后成功運行