项目中用的是spring3.0.5,MyBatis3.0.5,整合mybatis,spring用的是mybatis-spring-.1.0.1。在这个过程中,遇到了一个配置上的问题,就是配置Mapper时的错误,在运行时抛出如下异常:
Exception in thread "main"
java.lang.IllegalArgumentException
: Mapped Statements collection does not contain value for cn.xxxx.mail.webmail.dao.UserMapper.getUserById
一看就知是Mapper配置出错了。仔细检查过了,
1、我是用:<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="cn.xxxx.mail.webmail.dao.mapper"/>
</bean>让spring自动加载mapper配置的,这个没错。
2、UserMapper.java接口和UserMapper.xml同名,且在同一路径下,这个没错。
我的UserMapper.java有个方法是:public User getUserById(String id);
问题就出在这里了,我在UserMapper.xml中配成了这样:
<select id="getUser" resultType="cn.xxxx.mail.webmail.model.User" parameterType="java.lang.String">
select * from users where id=#{value}
</select>
在配置文件中的select 的id写错了,写成getUser,没和UserMapper.java的方法同名
经过这次,得出如下结论:
1、mapper的java文件和mapper的xml配置文件要同名,同路径
2、mapper的java文件的方法名称和mapper的xml配置文件的id要同名称
3、mapper配置文件的namespace要全名,不能只写包名
如:cn.xxxx.mail.webmail.dao.mapper.UserMapper,这时,namespace不能写 成:cn.xxxx.mail.webmail.dao.mapper
分享到:
相关推荐
1. **自动扫描Mapper接口**:它能够自动扫描指定包下的Mapper接口,并将这些接口与MyBatis的SqlSessionFactory或SqlSessionTemplate进行绑定,无需在Spring配置文件中手动配置每个Mapper。 2. **事务管理**:...
总的来说,MyBatis-Spring整合简化了在Spring应用中使用MyBatis的过程,提高了开发效率,并且提供了良好的事务管理和依赖注入功能。通过正确配置和使用,可以构建出稳定、高效的Java Web应用程序。
1. **自动扫描Mapper接口并注入SqlSession**:MyBatis-Spring能自动扫描项目中的Mapper接口,并为每个接口注入一个实现了该接口的代理对象,该代理对象内部封装了SqlSession,从而简化了对数据库操作的代码。...
这使得我们可以在Spring配置文件中声明式地管理MyBatis的相关组件,避免了手动创建和管理SqlSession对象的繁琐过程。 其次,MyBatis-Spring支持Spring的事务管理。它能够自动将MyBatis的操作纳入Spring的全局事务...
MyBatis-Spring 是一个将 MyBatis ORM 框架与 Spring 框架集成的库,使得在 Spring 应用中使用 MyBatis 变得更加方便。mybatis-spring-1.3.3.jar 文件是这个集成库的一个版本,提供了对 MyBatis 1.3.3 和 Spring 的...
MyBatis-Spring是MyBatis与Spring框架的整合组件,其主要目的是简化在Spring应用中集成MyBatis的过程,使两者能够无缝协作。mybatis-spring-1.3.0.jar是这个中间件的特定版本,包含了实现这种集成所需的所有类和资源...
MyBatis-Spring 整合是为了在Spring框架中无缝地使用MyBatis持久层框架,它简化了在Spring应用中配置MyBatis的过程,并提供了事务管理和依赖注入等功能。这个整合jar包包含了MyBatis和Spring的基本组件,使得开发...
【标题】"mybatis-spring整合开发jar包.zip"中包含的是Mybatis、Spring和Mybatis-Spring整合的jar文件,这些是Java开发中的关键组件,尤其在构建基于MVC架构的Web应用时。Mybatis是一个优秀的持久层框架,它支持定制...
3. **MapperFactoryBean**:用于配置MyBatis的Mapper接口,使它们可以在Spring应用中被当作bean使用。 4. **SqlSessionTemplate** 和 **SqlSessionScpoe**:提供线程安全的SqlSession实例,避免并发问题。 5. **...
当整合过程中出现问题时,Mybatis-Spring提供了详细的日志输出,帮助开发者诊断问题。同时,正确配置Mybatis的异常处理机制,可以使错误信息更加清晰易懂。 综上所述,Mybatis-Spring的1.2.2中文文档将帮助开发者...
在MyBatis-Spring整合中,我们需要配置TransactionManager,例如使用DataSourceTransactionManager,并将其应用到Spring的事务管理中。 4. **Mapper接口与XML配置**: MyBatis中的Mapper接口可以与XML配置文件配合...
《mybatis-spring整合详解与实战指南》 在Java开发领域,MyBatis和Spring是两个非常重要的框架,它们各自在持久层和依赖注入方面表现出色。MyBatis-Spring作为一个桥梁,将这两个优秀框架无缝集成,使得开发更加...
6. **Spring 整合**:了解如何在 Spring 应用上下文中配置 MyBatis,包括扫描 Mapper 接口、设置事务管理器等。 7. **错误处理和调试**:学习如何识别和解决 MyBatis 在运行时可能出现的问题,如 SQL 执行异常、映射...
MyBatis-Spring整合后,主要实现以下功能: 1. **SqlSessionFactoryBean**:MyBatis-Spring提供了一个SqlSessionFactoryBean,它继承自Spring的AbstractSqlSessionFactoryBean,用于创建SqlSessionFactory。开发者...
MyBatis-Spring整合包是将流行的ORM框架MyBatis与Spring框架紧密集成的一个库,旨在简化在Spring应用中使用MyBatis的过程。这个整合包提供了便捷的数据访问接口和事务管理,使得开发者能够更容易地在Spring应用中...
在IT行业中,MyBatis-Spring是一个非常重要的整合框架,它将流行的ORM框架MyBatis与Spring框架无缝集成,使得开发者能够更方便地在Spring应用中使用MyBatis。本资源提供的是MyBatis-Spring的最新整合包,版本为1.2.3...
使用 MyBatis-Spring 进行整合时,需要在 Spring 的配置文件中进行相应的配置,比如配置数据源、事务管理器、SqlSessionFactoryBean,以及扫描 Mapper 接口等。同时,DAO 层可以使用 SqlSessionTemplate 或者基于...
- 在开始使用MyBatis-Spring整合之前,用户需要具备Spring和MyBatis框架的基本知识以及相关的术语理解。本手册假定读者已经掌握了这两个框架的基本安装和配置方法。 - MyBatis-Spring与MyBatis和Spring 3.0一样,...
这个整合包使得在Spring应用中使用MyBatis变得更加方便,消除了两者之间的集成难题,同时也提供了更好的事务管理和依赖注入功能。 **MyBatis-Spring概述** MyBatis-Spring是MyBatis与Spring的桥梁,它允许你在...
《MyBatis-Spring整合源码深度解析》 在Java开发领域,MyBatis和Spring是两个非常重要的框架,它们分别在持久层和容器管理方面提供了强大的支持。MyBatis-Spring则是这两个框架的完美结合,它使得MyBatis与Spring...