`
dove19900520
  • 浏览: 598093 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring整合MyBatis错误:Mapped Statements collection does not contain value for

阅读更多

MyBatis Mapper使用Spring注入:
applicationContext.xml

Xml代码 复制代码 收藏代码
  1. <bean id="studentMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">  
  2.     <property name="mapperInterface" value="com.itsyc.fmpp.mappers.StudentMapper" />  
  3.     <property name="sqlSessionFactory" ref="sqlSessionFactory" />  
  4. </bean>  
<bean id="studentMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
	<property name="mapperInterface" value="com.itsyc.fmpp.mappers.StudentMapper" />
	<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>


使用上面方式注入时需要注意下面问题:
- interface = com.itsyc.fmpp.mappers.StudentMapper.class
- mapper file = /com/itsyc/fmpp/mappers/StudentMapper.xml
- mapper namespace = com.itsyc.fmpp.mappers.StudentMapper
这三者必须相同否则会出现下面错误:
Stacktraces
java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.itsyc.fmpp.mappers.StudentMapper.getById

软件版本:
mybatis: 3.1.1
spring: 3.0.5
mybatis-spring: 1.1.1

更正:mapper file是可以和interface、namespace不同的(注意:interface和namespace必须相同),但这时需要进行配置。
方式一:
1.在MyBatis配置文件中添加mappers:
mybatis-config.xml

Xml代码 复制代码 收藏代码
  1. <mappers>  
  2.     <mapper resource="com/itsyc/fmpp/mappers/StudentMapper.xml" /> <!-- Mapper文件可以和interface不在相同路径下! -->  
  3. </mappers>  
<mappers>
	<mapper resource="com/itsyc/fmpp/mappers/StudentMapper.xml" /> <!-- Mapper文件可以和interface不在相同路径下! -->
</mappers>


2.使用configLocation,在Spring配置文件中添加MyBatis配置文件的引用:
applicationContext.xml

Xml代码 复制代码 收藏代码
  1. <!-- MyBatis配置 -->  
  2. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
  3.     <property name="dataSource" ref="dataSource" />  
  4.     <property name="configLocation" value="classpath:mybatis-config.xml" />  
  5. </bean>  
<!-- MyBatis配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	<property name="dataSource" ref="dataSource" />
	<property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>


方式二:
使用mapperLocations,MyBatis-Spring会自动地扫描该路径下的所有Mapper文件:
applicationContext.xml

Xml代码 复制代码 收藏代码
  1. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
  2.     <property name="dataSource" ref="dataSource" />  
  3.     <property name="mapperLocations" value="classpath*:com/itsyc/fmpp/mappers/*Mapper.xml" />  
  4. </bean>  
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	<property name="dataSource" ref="dataSource" />
	<property name="mapperLocations" value="classpath*:com/itsyc/fmpp/mappers/*Mapper.xml" />
</bean>



本文转载自:http://ifrenzyc.iteye.com/blog/1011593;再次对高人表示感谢。

分享到:
评论

相关推荐

    mybatisMapped报错 Statements collection does not contain value for

    在使用MyBatis框架进行数据库操作时,可能会遇到“Mapped Statements collection does not contain value for”这样的错误提示。这通常意味着MyBatis无法找到与指定的ID相对应的映射语句。下面将详细解释这个问题的...

    Spring整合Mybatis与SpringBoot整合Mybatis原理分析

    **Spring整合Mybatis原理分析** 在Java Web开发中,Spring框架以其强大的依赖注入和面向切面编程能力,成为了事实上的核心框架。Mybatis则是一个轻量级的持久层框架,它简化了数据库操作,提供了直观的SQL映射。将...

    spring_mybatis 整合jar包

    在Java开发领域,Spring框架和MyBatis框架的整合是常见的数据访问技术组合。Spring作为一个全面的开源应用框架,提供依赖注入(DI)和面向切面编程(AOP)等功能,而MyBatis则是一个轻量级的持久层框架,专注于SQL...

    spring整合Mybatis

    在IT行业中,Spring框架与Mybatis的整合是常见的企业级应用开发模式,它结合了Spring的强大功能和Mybatis的灵活性,使得数据访问更加高效。本文将深入探讨如何进行"Spring整合Mybatis"的基础搭建,以及涉及到的相关...

    spring整合mybatis的jar_spring+mybatis_

    本文将深入探讨如何将Spring与MyBatis进行整合,以及在整合过程中可能遇到的问题和解决方案。 首先,整合Spring与MyBatis的核心在于Spring的DataSource、TransactionManager和SqlSessionFactoryBean。DataSource是...

    spring整合mybatis时需要用到的配置文件

    在Spring和MyBatis的整合过程中,配置文件起着至关重要的作用。它们定义了Spring如何管理MyBatis的SqlSessionFactory,以及数据源、事务管理器等核心组件。下面将详细阐述这些配置文件的关键内容。 首先,`User....

    spring整合mybatis3需要的jar文件

    下面将详细介绍在Spring整合MyBatis3时所需的jar文件以及它们在整合过程中的作用。 1. **Spring核心模块**: - `spring-context`: 提供了应用上下文和依赖注入的核心接口,是Spring框架的基础。 - `spring-beans`...

    Spring-Mybatis整合

    Spring 和 Mybatis 是两个在Java开发中非常流行的开源框架,Spring 作为一个全面的轻量级应用框架,提供了依赖注入、AOP(面向切面编程)等功能,而Mybatis则是一个优秀的持久层框架,专注于SQL映射和数据库操作。...

    精通Spring整合MyBatis:架构师的实践指南

    《精通Spring整合MyBatis:架构师的实践指南》 Spring和MyBatis的整合是Java后端开发中的常见实践,旨在充分利用两者的优点,构建高效且可维护的系统。在这一整合过程中,Spring的控制反转(IoC)容器与MyBatis的...

    IDEA: spring+mybatis+springMVC SSM框架(三) spring 整合 Mybatis 以及分页插件 PageHelper

    在本项目中,我们主要探讨的是如何在IntelliJ IDEA(IDEA)环境下,整合Spring、Mybatis和SpringMVC(SSM)框架,并利用PageHelper分页插件实现高效的数据分页。以下是对这些技术及其整合过程的详细说明: 1. **...

    mybatis与spring整合的全部jar包

    SSM(Spring、SpringMVC、MyBatis)框架整合是Java开发中常见的技术栈,主要用于构建企业级的Web应用程序。在这个压缩包中,我们找到了整合MyBatis和Spring所需的全部jar包,这对于初学者或者开发者搭建项目环境非常...

    Spring整合Mybatis源码解析

    Spring整合Mybatis源码解析

    spring整合mybatis所需jar包

    - `mybatis-spring`: 这是一个桥梁库,用于将Spring与MyBatis整合,提供了Spring的Bean定义来配置MyBatis的SqlSessionFactory和SqlSessionTemplate。 3. **数据库驱动**: 根据你所使用的数据库,你需要对应的...

    Spring整合MyBatis完整实例 最新 +详细注释

    下面我们将深入探讨Spring与MyBatis的整合过程以及一个标准的MVC模式的实现。 首先,Spring整合MyBatis主要是通过Spring的SqlSessionFactoryBean和MapperScannerConfigurer来完成的。SqlSessionFactoryBean用于创建...

    springMVC+Spring+Mybatis框架 : 简易博客系统.zip

    说明: 本项目是为springMVC+spring+mybatis的集成项目,使用maven进行项目管理 版本说明:spring3.2 mybatis3.2 mysql5.6 相关接口: 用户接口+角色权限接口+博客接口。

    spring+mybatis jar包

    标题“spring+mybatis jar包”指的是将Spring和MyBatis整合所需的jar包集合。在Java项目中,这些jar包是运行Spring和MyBatis框架的基础,它们包含了Spring框架的核心模块和MyBatis的相关组件。这些jar包通常包括以下...

    spring和mybatis整合小案例

    下面我们将深入探讨如何将Spring与MyBatis进行整合,并构建一个可运行的小项目。 1. **Spring框架**:Spring是Java应用开发的一个全功能框架,它提供了IoC(Inversion of Control)和AOP(Aspect-Oriented ...

    Spring整合MyBatis_jar包.rar

    Spring整合MyBatis是Java开发中常见的数据访问技术组合,它允许我们利用Spring的IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)特性来管理MyBatis的SQL映射和数据访问。...

    spring整合mybatis(非springMVC)

    4. **配置Mapper**: 每个Mapper接口对应一个XML映射文件,将它们加入到Spring的扫描范围,使用`&lt;mybatis:scan&gt;`标签。例如: ```xml &lt;mybatis:scan base-package="com.example.mapper"/&gt; ``` 5. **配置Service*...

    ssm框架spring+mybatis+mvc

    - 配置MyBatis:编写MyBatis的配置文件,包括数据源配置、SqlSessionFactory配置以及Mapper接口和XML映射文件的配置。 - 配置Spring MVC:创建Spring MVC的配置文件,设置DispatcherServlet、视图解析器、拦截器等...

Global site tag (gtag.js) - Google Analytics