【MyBatis】由Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。[引发的系列惨案]

本文主要是介绍【MyBatis】由Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。[引发的系列惨案],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


文章目录

  • 报错连环案
    • 案件一
    • 案件二
    • 案件三
    • 案件四
    • 案件总结


报错连环案

在这里插入图片描述

案件一

  • java.io.FileNotFoundException: d:axis.log (系统找不到指定的路径。)
  • Exception in thread “main” org.apache.ibatis.exceptions.PersistenceException:
    Error building SqlSession.
    The error may exist in com/zyx/core/day1/dao
    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: 1; columnNumber: 1; 前言中不允许有内容。

    在这里插入图片描述
    仔细检查了一下,问题出现在了log4j日志的配置文件中
    在这里插入图片描述
    这里的log4j.appender.LOGFILE.File配置的是日志文件路径,我的盘中没有D盘,同时路径的格式也有问题。

修改了之后,发现第一个路径问题解决了,但是Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。依然存在,上网搜了一下,说是大多数记事本工具(Emedit等)默认是以utf-8 BOM方式,会在文件中加入BOM头,导致错误,然后我使用notpad++更改了之后还是不对。
在这里插入图片描述
点开日志文件,发现编码是 gbk?!而且也修改不了~
在这里插入图片描述
返回顶部


案件二

又看了其他的报错,The error may exist in com/zyx/core/day1/dao,这是MyBatis中的映射文件配置路径,写错了?
在这里插入图片描述
修改后:
在这里插入图片描述
好家伙,又报了新的错!!!

返回顶部


案件三

在这里插入图片描述
Exception in thread “main” org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.zyx.core.day1.dao.IUserDao.findAll
在这里插入图片描述
修改后,去掉方法后的括号 ()
在这里插入图片描述
返回顶部


案件四

紧接着又报了错:Cause: org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement 'com.zyx.core.day1.dao.IUserDao.findAll'. It's likely that neither a Result Type nor a Result Map was specified.

这个错主要是因为我们,只通过整个流程使用MyBatis去进行数据库的操作,但是并没有指定查到结果后的返回类型,在代码中我们是要查询所有,同时创建了实体类,所以这里我们最终的返回类型就应该是实体类类型;通过resultType属性设置返回类型的全路径类。
在这里插入图片描述
最终运行结果:
在这里插入图片描述


案件总结

整理一下所有报错,wy~

  • 1.java.io.FileNotFoundException: d:axis.log (系统找不到指定的路径。) 配置日志路径的时候要注意本地存在~

  • 2.Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。 很有可能是UTF-8 BOM 格式的问题,显然这里我的不是~,但值得注意!!!

  • 3.Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: Error building SqlSession.The error may exist in com/zyx/core/day1/dao
    Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration.
    Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. 这个错是由于映射配置文件路径没写全导致后面解析配置文件创建SqlSessionFactory工厂失败,注意路径要一直写到具体的配置文件

  • 4.Exception in thread “main” org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.zyx.core.day1.dao.IUserDao.findAll 这个错是由于在配置具体映射文件的时候,配置增强dao层的方法时多添加了() 引起的,注意不需要!!!

  • 5.Cause: org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement 'com.zyx.core.day1.dao.IUserDao.findAll'. It's likely that neither a Result Type nor a Result Map was specified. 这个错主要是因为我们,只通过整个流程使用MyBatis去进行数据库的操作,但是并没有指定查到结果后的返回类型,在代码中我们是要查询所有,同时创建了实体类,所以这里我们最终的返回类型就应该是实体类类型;通过resultType属性设置返回类型的全路径类。

在这里插入图片描述

返回顶部


这篇关于【MyBatis】由Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。[引发的系列惨案]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/246114

相关文章

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤

《SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤》本文主要介绍了SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤,文中通过示例代码介绍的非常详... 目录 目标 步骤 1:确保 ProxySQL 和 mysql 主从同步已正确配置ProxySQL 的

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

Python xmltodict实现简化XML数据处理

《Pythonxmltodict实现简化XML数据处理》Python社区为提供了xmltodict库,它专为简化XML与Python数据结构的转换而设计,本文主要来为大家介绍一下如何使用xmltod... 目录一、引言二、XMLtodict介绍设计理念适用场景三、功能参数与属性1、parse函数2、unpa

Mybatis官方生成器的使用方式

《Mybatis官方生成器的使用方式》本文详细介绍了MyBatisGenerator(MBG)的使用方法,通过实际代码示例展示了如何配置Maven插件来自动化生成MyBatis项目所需的实体类、Map... 目录1. MyBATis Generator 简介2. MyBatis Generator 的功能3

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构