Mybatis学习错误之:重复加载mapper.xml

简介:

学习mybatis的时候,突然遇到测试出错。测试mapper代理失败,现在钻研少了,不喜欢看未知的错误了,立即改正。错误打印说mapper.xml已经注册,仔细查看SQLMapConfig.xml发现确实。修改后正常。

原因是直接复制教学代码,在SqlMapConfig.xml中,配置mappers,加载映射文件,已经配置了加载包文件,然后我自己又添加了单独的mapper。所以出错了,将包注释掉就ok。

测试用例:

复制代码
 1 @Before
 2     public void setUp() throws Exception {
 3         // 创建sqlSessionFactory
 4         // mybatis配置文件
 5         String resource = "SqlMapConfig.xml";
 6         // 得到配置文件流
 7         InputStream inputStream = Resources.getResourceAsStream(resource);
 8         // 创建会话工厂,传入mybatis的配置文件信息
 9         sqlSessionFactory = new SqlSessionFactoryBuilder()
10                 .build(inputStream);
11         
12     }
13     
14     @Test
15     public void testFindUserById() throws Exception{
16         SqlSession sqlSession = sqlSessionFactory.openSession();
17         UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
18         User user = userMapper.findUserById(1);
19         System.out.println(user);
20     
21     }
复制代码

SqlMapConfig.xml

  View Code

UserMapper.xml

  View Code

 

本文转自Ryan.Miao博客园博客,原文链接:http://www.cnblogs.com/woshimrf/p/4828539.html,如需转载请自行联系原作者
相关文章
|
8月前
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于 xml 的整合
本教程介绍了基于XML的MyBatis整合方式。首先在`application.yml`中配置XML路径,如`classpath:mapper/*.xml`,然后创建`UserMapper.xml`文件定义SQL映射,包括`resultMap`和查询语句。通过设置`namespace`关联Mapper接口,实现如`getUserByName`的方法。Controller层调用Service完成测试,访问`/getUserByName/{name}`即可返回用户信息。为简化Mapper扫描,推荐在Spring Boot启动类用`@MapperScan`注解指定包路径避免逐个添加`@Mapper`
413 0
|
6月前
|
SQL XML Java
菜鸟之路Day35一一Mybatis之XML映射与动态SQL
本文介绍了MyBatis框架中XML映射与动态SQL的使用方法,作者通过实例详细解析了XML映射文件的配置规范,包括namespace、id和resultType的设置。文章还对比了注解与XML映射的优缺点,强调复杂SQL更适合XML方式。在动态SQL部分,重点讲解了`<if>`、`<where>`、`<set>`、`<foreach>`等标签的应用场景,如条件查询、动态更新和批量删除,并通过代码示例展示了其灵活性与实用性。最后,通过`<sql>`和`<include>`实现代码复用,优化维护效率。
534 5
|
XML 数据格式
加载 XML 字符串
加载 XML 字符串
|
8月前
|
XML Java 数据库连接
二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)
二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)
253 21
|
10月前
|
缓存 NoSQL Java
Mybatis学习:Mybatis缓存配置
MyBatis缓存配置包括一级缓存(事务级)、二级缓存(应用级)和三级缓存(如Redis,跨JVM)。一级缓存自动启用,二级缓存需在`mybatis-config.xml`中开启并配置映射文件或注解。集成Redis缓存时,需添加依赖、配置Redis参数并在映射文件中指定缓存类型。适用于查询为主的场景,减少增删改操作,适合单表操作且表间关联较少的业务。
194 6
|
XML 前端开发 Java
XML基本概念入门学习指南
XML(eXtensible Markup Language)是一种可扩展的标记语言,和HTML语言语法类似,同属于标记语言。
422 14
|
SQL 缓存 Java
MyBatis如何关闭一级缓存(分注解和xml两种方式)
MyBatis如何关闭一级缓存(分注解和xml两种方式)
451 5
|
XML 数据格式
加载 XML 字符串
加载 XML 字符串
|
XML 数据格式
加载 XML 字符串
加载 XML 字符串
|
XML 数据格式
加载 XML 字符串
加载 XML 字符串