0 0

Mybatis的Mapped Statements collection是这么来的?还有必须定义DAO层接口吗?5

最近在用spring和mybatis做一个项目,我想知道mybatis的Mapped Statements collection是怎么来的啊? 如果没定义和mapper配置文件名一样的dao层接口,就会报错:Mapped Statements collection does not contain value for xxx,所以就想问一下这里必须要定义那个dao层的interface吗?

比如说:我这里有个Mapper配置文件UserInfoDAO.xml
<mapper namespace="package.UserInfoDAO">
<select id="getUser" resultMap="xxx">sql语句</select>
</mapper>


在java中执行查询方法
User user = sqlSession.selectOne("package.UserInfoDAO.getUser",id);//sqlSession是通过spring注入的


UserInfoDAO接口
public interface UserInfoDAO {
   public User getUser(int id);
}


以上如果定义了UserInfoDAO接口程序可以正常执行,也能得到结果;如果不定义这个接口则会报错:Mapped Statements collection does not contain value for package.UserInfoDAO.getUser  这是为什么啊?
2014年5月09日 15:26

2个答案 按时间排序 按投票排序

0 0

http://www.iteye.com/topic/1060588

你写接口,mybatis帮你生成实现类,类里应该帮你getConnection 、createStatement、executeQuery...
然后帮你转换对象

我觉得大概就是这样的

但是不明白为什么使用接口,而不是直接扫描配置文件创建类

2014年5月09日 18:17
0 0

http://wildrain.iteye.com/blog/1236251
这个应该可以解决你的问题

2014年5月09日 17:59

相关推荐

    mybatisMapped报错 Statements collection does not contain value for

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

    mybatisDAO层自动生成插件

    MyBatis DAO层自动生成插件是一个非常实用的工具,它极大地简化了开发过程中DAO(Data Access Object)层的编写工作。MyBatis是Java领域的一款流行持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,使得...

    MyBatis链接MySql数据库,在Dao层处理

    在Dao层,我们需要定义一个Mapper接口,比如`UserMapper`,并创建对应的XML映射文件。接口方法对应XML中的SQL语句,例如: ```java public interface UserMapper { User getUserById(int id); } ``` 对应的...

    mybatis collection list string

    标题 "mybatis collection list string" 暗示了我们讨论的主题是关于MyBatis框架中与集合(List)和字符串(String)处理相关的问题。在MyBatis这个强大的持久层框架中,集合和字符串的使用非常常见,尤其是在进行数据库...

    Mybatis通用DAO设计封装(mybatis)

    Mybatis通用DAO设计封装主要涉及的是在Java开发中如何高效地使用Mybatis框架进行数据库操作。Mybatis是一款轻量级的持久层框架,它避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。通过提供自定义SQL、存储...

    生成mybatis的实体类+dao层+xml层

    为了提高开发效率,我们可以借助特定的工具或插件来实现自动代码生成,这就是"生成mybatis的实体类+DAO层+xml层"的目的。 首先,我们需要理解MyBatis中的主要组件。实体类是Java对象,它们通常对应于数据库表的记录...

    MyBatis在webApp中的使用,此种使用方式是实现dao层接口,并未让mybatis自动生成dao接口的实现类

    在这个特定的情况下,我们将讨论如何在不依赖MyBatis自动生成DAO接口实现的情况下,手动实现DAO层接口。 首先,我们需要在项目中引入MyBatis的依赖。在`pom.xml`文件中,你需要添加以下Maven依赖: ```xml ...

    Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,应用场景是什么.详情介绍

    Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,应用场景是什么.详情介绍Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,应用场景是什么.详情介绍Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,...

    Mybatis_dao.rar_mybatis dao_mybatis_dao.rar

    1. **Mapper接口**: 这是业务层与Mybatis之间的接口,定义了对数据库的操作方法。每个方法对应一个SQL语句,Mybatis会在运行时动态生成代理对象,执行相应的SQL。 2. **Mapper XML文件**: 每个Mapper接口通常有一个...

    mybatisGenerator 支持生成类注释,属性注释,dao层注释

    这个工具能够自动生成MyBatis框架所需的Mapper接口、Mapper XML文件、实体类以及DAO层的代码,包括类注释、属性注释和DAO层注释等,从而避免手动编写这些重复性工作,让开发者更专注于业务逻辑的实现。 1. **...

    mybatis 自动生成实体类dao

    MyBatis Generator (MBG) 是一款强大的工具,它能够自动生成MyBatis的实体类、DAO接口以及Mapper XML文件,极大地提高了开发效率。在Java Web开发中,MyBatis作为一个优秀的持久层框架,它的自动代码生成器MBG是其...

    mybatis带表字段注释生成dao层

    本教程将详细讲解如何在MyBatis中利用表字段注释来生成DAO层、POJO类以及Mapper.xml文件,从而提高开发效率。 首先,了解MyBatis的核心概念。MyBatis的主要组件包括SqlSessionFactory、SqlSession和Mapper接口。...

    mybatis生成对应的dao/model/mapper

    MyBatis Generator(MBG)是一个强大的工具,用于自动生成MyBatis的DAO层、Model层和Mapper XML文件。这个工具极大地简化了开发过程,减少了手动编写这些常见代码的工作量,提高了开发效率。下面我们将详细探讨...

    idea的mybatis插件支持从dao到maper

    本文将详细介绍Idea的Mybatis插件及其如何帮助我们从DAO层直接进入Mapper文件,从而实现更便捷的Mybatis相关DAO到Mapper的开发。 MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis...

    mybatis开发dao之mapper代理方式

    总结来说,MyBatis的Mapper代理方式是通过定义Mapper接口,配合XML映射文件,实现了数据库操作与业务逻辑的解耦。在实际应用中,我们可以根据需求灵活定义Mapper接口,以满足各种复杂的数据库交互场景。通过这种方式...

    mybatis 自动生成 pojo mapper dao 层配置文件

    mybatis 自动生成 pojo mapper dao 层配置文件

    Mybatis面试题(含答案)_.pdf

    9. Mybatis 映射文件中,如果 A 标签通过 include 引用了 B 标 签的内容,请问,B 标签能否定义在 A 标签的后面,还是说 必须定义在 A 标签的前面? 10. 简述 Mybatis 的 Xml 映射文件和 Mybatis 内部数据结构之间的...

    使用MyBatis Generator生成DAO

    MyBatis Generator(MBG)是一款强大的工具,用于自动生成MyBatis的Mapper接口、XML映射文件以及对应的DAO实现类。它极大地提高了开发效率,减少了手动编写这些基础代码的工作量,使开发者能够更专注于业务逻辑。在...

    接口平台代码概览,框架使用springmvc+mybatis

    在IT行业中,构建高效、可扩展的Web服务接口是一个至关重要的任务。本项目采用Spring MVC和MyBatis作为核心技术框架,这两个组件都是Java Web开发领域中的基石,它们为开发高质量的接口提供了强大的支持。 首先,...

Global site tag (gtag.js) - Google Analytics