mybatis mapper配置错误

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">



select * from user where id = #{id}

以上是我的mapper的xml配置文件
然后测试的时候报错 报错信息为:
org.apache.ibatis.exceptions.PersistenceException:

Error building SqlSession.

The error may exist in sqlmap/User.xml

Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 26; 必须为元素类型 "mapper" 声明属性 "namespace"。

at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:82)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:66)
at com.nullException.mybatis.first.MybatisFirst.init(MybatisFirst.java:22)
at com.nullException.mybatis.first.Test.main(Test.java:8)

Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 26; 必须为元素类型 "mapper" 声明属性 "namespace"。
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:109)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:92)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:80)
... 3 more

初学者,问题可能很白痴,有了解的大神帮忙看一下哈

2个回答

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.eumji.zblog.mapper.ArticleMapper">

namespace="这是你对应的mapper的全路径"

如果你是接口型的namespace必须是接口全路径,因为当service层去请求Dao层接口的时候如果Mapper不是全路径,就相当于没有实现这个接口。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MyBatis关于Mapper配置文件知识集合

(1)MyBatis多参数传递之默认命名方式       对于映射器中的方法,MyBatis默认从左到右给方法的参数命名为param1、param2…,依次类推。我们可以无需借助注解,直接在SQL语句中使用这些默认名称。       首先去掉@Param注解的TeacherMapper.java如下所示(完整源码下载地址:http://down.51cto.com/data/539217)

mybatis的mapper文件错误,引申到spring无法加载bean

在更改了几个接口对应的mapper文件之后,启动服务,莫名的报错,spring加载dao文件失败,无法找到bean文件。 更改了好多地方,也在sourcetree上对比了改动,并没有发现对配置文件的更改,头大! 最后在控制台仔细找,发现有提示:The content of element type "mapper" must match "(cache-ref|cache|resultMap*

Mybatis常见配置错误总结

Mybatis常见配置错误总结例如: classpath:com.axxxxxy/**/dao/mapper/*.xml Spring中的Mybatis的配置 1.classpath是针对src的,classpath后面跟的是路径名称而不是包名。 例如上面,com.axxxxy/**/dao/mapper/*.xml

spring-mybatis多数据源配置出错

这是2个数据源的配置文件,但是如果这样配置,在测试第二个数据源的时候,是会报错的:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.ppp.user.dao.UserMapper.selectByPrimaryKey为什么会出现这样的问题呢?明明第二个数据源是配置了dao的啊,怎

在mybatis中关于标签mapper错的解决原因及方案

*标签mapper报错信息:The content of element type “mapper” must match “(cache-ref|cache|resultMap|parameterMap*|sql*| in… 分析: 出现这个错误的原因起始在错误信息中已经给出了,就是你在.xml中的配置顺序没有按照 信息中给出的配置顺序进行配置,这个顺序也是mybatis要求的内容顺序。

Mybatis中SqlMapper配置的扩展与应用(3)

隔了两周,首先回顾一下,在Mybatis中的SqlMapper配置文件中引入的几个扩展机制: 1.引入SQL配置函数,简化配置、屏蔽DB底层差异性 2.引入自定义命名空间,允许自定义语句级元素、脚本级元素 3.引入表达式配置,扩充SqlMapper配置的表达能力 前面两条已经举过例子,现在来看看怎么使用表达式配置。说到表达式语言,最为富丽堂皇的自然就是OGNL,但这也正是Mybat

MyBatis核心配置文件中的常用标签和Mapper文件的常用标签配置

SqlMapConfig.xmlmybatis的全局配置文件SqlMapConfig.xml,配置内容如下:properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境集合属性对象) environment(环境子属性对象) t

SpringMvc+Mybatis 创建mapper接口引发的异常

错误提示 2016-04-15 16:53:15:335[INFO]: Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@b31a7c: defining beans [loginAction,loginServiceImpl,jsonUtil,org

搭建一个mybatis,出现配置文件错误

错误提示: org.apache.ibatis.exceptions.PersistenceException: Error querying database. Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.helloword.m...

spring与mybatis整合时mapper的配置问题

mapper配置有多种方法: 原始的dao接入的方法,即写好dao接口类,写好实现类impl,实现类要继承org.mybatis.spring.support.SqlSessionDaoSupport,然后在spring配置文件里面配置 public class TestDaoImpl extends SqlSessionDaoSupport implements TestMapper {

Mybatis最入门---Mapper文件配置详解(上)

[一步是咫尺,一步即天涯] 前文中,我们演示了最基本的HelloWorld程序,下面我们将介绍我们上面各项配置文件的详细解释,以及我们正式开发过程中,各种配置的注意事项等。 惯例,先来看看我们的准备工作有: a.操作系统 :win7 x64 b.基本软件:MySQL,Mybatis,Spring,SQLyog,Tomcat,web基础 --------------

关于spring整合mybatis的扫描器的配置问题

spring与mybatis整合生成代理对象采用mapper扫描器,将包下的所有mapper接口扫描出来创建代理对象并在spring容器注册,总体配置如下<!-- 配置加载数据库配置文件 --> <!-- placeholder:占位符 --> <context:property-placeholder location="classpath:db.properties"/> <!-- 配置

Mybatis配置文件中<mappers>配置方式

用来在mybatis初始化的时候,告诉mybatis需要引入哪些Mapper映射文件。 在中有两个子元素 1.  2. 1.第一种配置映射文件的方式 注意:这种方式必须保证接口名(例如IUserDao)和xml名(IUserDao.xml)相同,还必须在同一个包中。 2.第二种方式: 这种方式不用保证同接口同包同名。例如: 3.第三种方式: 这

mybatis的mapper配置方式

mybatis3.4.2 mybatis的mapper有xml形式和java类形式,它们的配置方和注意事项如下: mapper.xml的配置:   那么mybatis会在resource的路径中查找该mapper.xml并加载。 如果有很多mapper.xml,使用上述方式比较繁琐,可以使用包扫描加载:   -->

Spring整合MyBatis (使用扫描包配置mapper代理)

Spring整合MyBatis (使用扫描包配置mapper代理) pojo是根据表生成的实体类,属性名要跟字段名相同,不相同sql语句查询时用别名。 首先导jar包实体类public class User { private Integer id; private String username;// 用户姓名 private String sex;// 性别

Mybatis 加载 Mapper配置的四种方式

前言 Mybatis 的Mapper 是指Mybatis 执行数据库操作的接口类以及方法,在非注解模式下,还包含与类对应的 xml 配置文件。 第一种依据 Mapper 类 具体路径 配置 Mapper 这种情况下,如果是非注解模式的话xml配置文件必须和这个类在同一级目录,且与Mapper类同名 在存在 xml 配置文件的情况下,文件结构如下,

用mybatis映射的mapper.xml没有找到错误

{"status":500,"msg":"org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.taotao.search.mapper.ItemMapper.getItemList\r\n\tat org.apache.ibatis.binding.MapperMethod$Sql

Spring boot 集成mybatis通用mapper配置步骤及注意事项

一、添加依赖 二、继承通用mapper,可以重写和选择需要的mapper方法,可以去掉一些不需要的方法(一般直接继承即可) Mapper3提供的全部的方法,可以查看Mapper3通用接口大全 三、application.properties配置 四、设置dao路径 在Application中,以注解的形式设置扫描的basepackage,可以设置多个,dao可

Mybatis的mapper配置文件(一)

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.geo.dao.UserMapper"> <!--re

MyBatis二级缓存配置,集成通用Mapper共享缓存

1.配置mybaits-config.xml,开启二级缓存 2. xxxxMapper.xml文件中使用即可,如果使用了通用mapper插件需要修改为,并在Mapper类使用注解@CacheNamespace

mybatis中mapper配置方式进行查询(三)

本篇博客主要介绍mapper方式开发,写了个查询作为示例,其他的操作用相应的标签与sql语句,调用相关的方法即可(在mybatis一中讲解了)。环境搭建已经说了,就不再重复了 mapper开发 开发规范:        2.mapper.java接口中的方法名和mapper.xml中statement的id一致  3.mapper.java接口中的方法输入参数类型和mapp

Mybatis框架Mapper代理配置的两种方式

一、创建Java工程,建立lib包,导入jar包 二、创建POJO(POJO类作为mybatis进行sql映射使用,POJO类通常与数据库表对应) 三、在classpath(src)下创建、配置SqlMapConfig.xml和log4j.properties (SqlMapConfig.xml是mybatis核心配置文件,上边

在idea里使用SpringBoot整合MyBatis时遇到的Mapper扫描不到的问题

在配置的时候遇到了诡异的Invalid bound statement (not found)错误,这个我觉得可能是idea的bug,我建立了2个项目用了2种不同的配置方法。在遇到这个问题的时候我第一想法以为哪里写错,没有对应好。其实不然,最后却发现居然是因为idea引起的,我很蛋疼 ,下面实例是我的配置方式。 第一种:通过application.properties配置 mybati

mybatis mapper互相引用resultMap启动出错

mybatis mapper互相引用resultMap启动出错,问题:Caused by: java.lang.IllegalArgumentException: Result Maps collection does not contain value for kulink.cvscloud.core.mapper.OrderSundryMapper.BaseResultMap at org.a...

spring boot配置mybatis代码自动生成(mybatis通用mapper相关基础代码自动生成)

一、建立一个spring boot项目,在pom.xml文件中进入mybatis自动生成代码相关的jar包:          xmlns="http://maven.apache.org/POM/4.0.0"          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/x

mybatis错误找不到Mapper文件

刚学习mybatis的菜鸟不是很懂,今天写代码报错不能发现mapper文件,找了好久找不到解决方法,换了一种写法突然就好了,现在写下来记录一下。跪谢大神能帮忙解释。把mybatis配置文件中的小改一下。原来的代码&amp;lt;mappers&amp;gt;   &amp;lt;mapper resource=&quot;com.jiaojiao.entity.EmpMapper.xml&quot;/&amp;gt;       &amp;lt;/mapp...

Mybatis的Mapper代理方法和全局配置文件

Mapper代理方法(程序员只需要mapper接口,相当于dao接口) Mapper接口需要遵循一些开发规范,mybatis可以自动生成mapper接口实现类代理对象。 开发规范: 1.在mapper.xml中namespace等于mapper.java接口地址() 2.Mapper.java接口中的方法名和mapper.xml中statement的id一致(select id="addU

mybatis mapper.xml路径配置方式

-->               -->                           classpath:com/tourInteraction/mapper/*.xml       classpath:com/tourInteraction/mapper/article/*.xml

Mybatis非mapper代理配置

一、创建Java工程,建立lib包,导入jar包 二、创建POJO(POJO类作为mybatis进行sql映射使用,POJO类通常与数据库表对应) 三、在classpath(src)下创建、配置SqlMapConfig.xml和log4j.properties (SqlMapConfig.xml是mybatis核心配置文件,上边

mybatis配置文件(mapper)属性解析

告别了陪伴多年的Hibernate,偶遇Mybatis. 为了记住对Mybatis的初步认知,记录下点滴. 首先,明确一点,Mybatis是类Hibernate的轻量持久层框架. 那么问题来了,既然是持久层框架,那Mybatis是如何将Bean 映射到 数据库的呢?  一,Mybatis 如何将Bean 映射到数据库? Mybatis 将Bean 与与数据表分离,将Mapper.xml 作为

关于mybatismapper.xml报错的问题

今天在写简单的mybatis自增主键返回的时候 xml报错如下 The content of element type "mapper" must match "(cache-ref|cache|resultMap*|parameterMap*|sql*|  insert*|update*|delete*|select*)+".  先是百度了一下,然后百度上根本没有什么有用的信息。。

Mybatis之SQLMapper大全 与常见问题

头引入 --&amp;gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&amp;gt; &amp;lt;!DOCTYPE mapper PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot; &quot;http://mybatis.org/dtd/mybatis-3-mapper.dtd&quot; &amp;gt; &amp;lt;!--concat_ws(&amp

dubbo集成mybatis增加了mapper.xml配置文件后在linux下启动失败

项目迭代,新增加了两张数据表,所以项目中增加了Dao和相应的Mapper.xml文件。开发完毕,往测试环境部署,可是测试环境的bubbo服务却启动不成功,然而在IDE和在Windows下启动却是没有问题的。经过排除,不是新加的Dao和Mapper.xml的文件的问题。在linux下启动会一直报如下的问题: 2017-02-23 11:54:32,456 [main] INFO com.al

Mybatis中SqlMapConfig.xml的mapper映射器的三种配置方式

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> -->

mybatis mapper.xml配置问题及解决方案总结

1,定义别名的时候使用了mysql内置的关键字 You have an error in your SQL syntax:check the manual that ....    为了避免这种情况,可以先将sql在数据库客户端执行一遍,显示没有问题在拷贝到mapper中。 2,bad sql grammar   出现这个原因是sql中出现语法错误,解决方法和1类似 3,No enum...

Mybatis配置之<mappers>元素详述

在前面的若干篇文章中,我们已经对mybatis中主要的配置元素做了讲述,还剩下一个比较重要的元素,那就是元素。 这个元素是干嘛用的呢?用来在mybatis初始化的时候,告诉mybatis需要引入哪些Mapper映射文件。那什么又是Mapper映射文件呢?它是Java实体类与数据库对象之间的桥梁。在实际的使用过程中,一般一个Mapper文件对应一个数据库操作Dao接口。 在mybatis

单个和批量加载mybatis的mapper.xml文件

一,单个引用mapper.xml文件 创建完操作数据库表的mapper.xml文件后,需要在项目中进行引用,格式如下 然后在spring-db-config.xml文件中引用mappers所在的文件,格式如下 二,批量引入mapper.xml文件 单个引入mapper.xml文件的弊端就是太麻烦,每个mapper.xml文件都需要在中进行添加,如果忘记添加还报

[MyBatis]mapperLocations属性通配符的使用

mapperLocations属性通配符的使用: 注意点:在classpath后面的*必不可少,缺少型号的话后面的通配符不起作用。                 **表示可以表示任意多级目录,如:上述配置可以查到【com/huaxin/framework/system/dao/UserDaoMapper.xml】                

SpringBoot入门系列:第六篇 mybatis

这一篇,代码折腾的时间较长,完成之后都是一些小细节,主要有三: 1、引入的依赖错误; 2、启动配置错误; 3、xml文件的mapper命名空间错误。 一、完整的pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Mybatis在mapper接口上使用注解报反射异常

用Mybatis的注解方式是报反射异常 重新进入调试,然后发现 commentId、commentCount这两个字段并没有解析出来,从metaObject中获取不到 解决方式: 在接口的参数上加上param注解 接口如果是一个参数是不会报错的,多个参数时mybatis需要指定每个参数对应的填充属性

MyBatis学习笔记(一):MyBatis configuration和mapper xml配置总结

mybatis configruation 和 mapper xml 已思维导图方式总结

mybatis的一对一,一对多,多对多的mapper.xml配置

使用springboot完成一对一,一对多: 一对一: 主要是与   一对多: 主要是 多对多:

mybatis自动生成出现的错误

今天用mybatis生成实体类的时候,不小心在generatorConfig.xml中重复配置了两次bill表导致以下的内容重复插入金了billmapper.XML文件中,导致了报以下的错。 关于  MyBatis配置的时候,出现  Result Maps collection already contains value for ***  这个的问题  字面意思就是某某已经

【MyBatis学习18】使用注解配置Mapper

MyBatis支持使用注解来配置映射的sql语句,这样可以省掉映射器xml文件。一、映射语句1、insert 比如入门实例中的:public int insert(User user) throws Exception;<insert id="insert" parameterType="twm.mybatisdemo.pojo.User" useGeneratedKeys="true" key

MyBatis之XML文件配置实现映射器Mapper

一、映射器是由Java接口和XML文件(或注解)共同组成的,它的作用主要有: 1、定义参数类型。 2、描述缓存。 3、描述SQL语句。 4、定义查询结果和POJO的映射关系。 二、实现Mapper,主要有通过代码方式实现和通过XML文件方式实现两种方式,下面主要讲解较优方案——XML文件方式实现Mapper的实现步骤。 第一步,定义一个Java接口,且定义一个方法getRole,通过角

关于mybatis扫描所有namespace时报错,最终原因是resultMap不能使用(我的错误记录)

我调用UserMapper的一个方法 mabatis扫描所有Mapper,其中有个配置了resultMap,所以提示错误,如下 Caused by: org.apache.ibatis.builder.IncompleteElementException: Could not find result map com.yun.model.Resource at org.apache.i

Mybatis3源码分析(三):解析mapper的xml配置文件

这一章我们来看看mybaits是怎么读取mapper的xml配置文件并解析其中的sql语句。     我们还记得是这样配置sqlSessionFactory的:     这里配置了一个mapperLocations属性,它是一个表达式,sqlSessionFactory会根据这个表达式读取包com.xxx.mybai

mybatis plugin配置,可实现mapper和xml直接跳转

按步骤进行配置即可。安装完毕:安装完毕后重启idea,可见图标   表示安装成功。点击即可实现mapper和xml的直接跳转。同时,当方法不匹配时也会做出提示。...

MyBatis学习笔记(一)——配置文件中的别名以及mapper中的namespace

MyBatis中如果每次配置类名都要写全称也太不友好了,我们可以通过在主配置文件中配置别名,就不再需要指定完整的包名了。 别名的基本用法: ...... 但是如果每一个实体类都这样配置还是有点麻烦这时我们可以直接指定package的名字, mybatis会自动扫描指定包下面的javabean,并且默认设置一个别名,默认的名字为: javabean 的首字

Mybatis中mappers的映射配置

一、通过resource加载单个映射文件 1.通过 2.通过 3.通过mapper接口加载 <!-- 需要将mapper接口类名和mapper.xml映射文件名称保持一致且在同一个目录中, 注意:要使用的是mapper代理。两个文件要在同一个目录 --> 二、批量加载 指定mapper接口包名 <!-

立即提问
相关内容推荐