随笔 - 34,  文章 - 0,  评论 - 3,  阅读 - 19136

刚开始学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后成功运行

posted on   XiaoMaGuai  阅读(1549)  评论(0编辑  收藏  举报
编辑推荐:
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
阅读排行:
· 为DeepSeek添加本地知识库
· 精选4款基于.NET开源、功能强大的通讯调试工具
· DeepSeek智能编程
· 大模型工具KTransformer的安装
· [计算机/硬件/GPU] 显卡
点击右上角即可分享
微信分享提示