产品设计专业就业前景如何,嘉兴seo外包公司费用,涿州做网站建设,成都有什么好玩的娱乐场所文章目录 前言问题分析解决方案方案一#xff1a;使用 CDATA 区块#xff0c;依然使用 “ ” 或者 “ ”方案二#xff1a;使用转义字符 个人简介 前言
今天在使用 MyBatis 时出现报错#xff1a; Caused by: org.xml.sax.SAXParseException: 元素内容必须由格式… 文章目录 前言问题分析解决方案方案一使用 CDATA 区块依然使用 “ ” 或者 “ ”方案二使用转义字符 个人简介 前言
今天在使用 MyBatis 时出现报错 Caused by: org.xml.sax.SAXParseException: 元素内容必须由格式正确的字符数据或标记组成。
Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 57; columnNumber: 24; 元素内容必须由格式正确的字符数据或标记组成。at org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:259)at org.apache.ibatis.parsing.XPathParser.init(XPathParser.java:125)at org.apache.ibatis.builder.xml.XMLMapperBuilder.init(XMLMapperBuilder.java:78)at com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean.buildSqlSessionFactory(MybatisSqlSessionFactoryBean.java:581)... 81 common frames omitted
Caused by: org.xml.sax.SAXParseException: 元素内容必须由格式正确的字符数据或标记组成。at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441)at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1436)at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.startOfMarkup(XMLDocumentFragmentScannerImpl.java:2636)at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2734)at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:348)at org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:257)... 84 common frames omittedDisconnected from the target VM, address: 127.0.0.1:54640, transport: socket问题分析
根据报错提示大概率是 xml 文件 SQL 的问题经过确认确实是 xml 文件 SQL 的问题xml 文件 SQL 语句中不能直接使用大小写符号(、、、)等可以使用下面两种方案解决。注使用 Select 同理
解决方案
方案一使用 CDATA 区块依然使用 “ ” 或者 “ ”
CDATACharacter Data是一种在XML文档中表示文本数据的方式。CDATA区块中的文本数据不会被XML解析器解析而是被视为纯文本。
select idgetLoginLogByPage resultTypecom.mcp.entity.LoginLogSELECT l.id, l.job_number, l.name, l.createDate, l.ip_addr, l.remarkFROM loginlog lwhereif testjobNumber ! null ![CDATA[ and l.job_number #{jobNumber}]]/if/whereGROUP BY l.today_date, l.ip_address;/select方案二使用转义字符
虽然无法使用相关字符但是我们可以使用其转义后的字符具体对应如下 select idgetLoginLogByPage resultTypecom.mcp.entity.LoginLogSELECT l.id, l.job_number, l.name, l.createDate, l.ip_addr, l.remarkFROM loginlog lwhereif testjobNumber ! null and l.job_number gt; #{jobNumber}/if/whereGROUP BY l.today_date, l.ip_address;/select个人简介 你好我是 Lorin 洛林一位 Java 后端技术开发者座右铭Technology has the power to make the world a better place. 我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。 作为一个 Java 后端技术爱好者我不仅热衷于探索语言的新特性和技术的深度还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。 在我的博客上你将找到关于Java核心概念、JVM 底层技术、常用框架如Spring和Mybatis 、MySQL等数据库管理、RabbitMQ、Rocketmq等消息中间件、性能优化等内容的深入文章。我也将分享一些编程技巧和解决问题的方法以帮助你更好地掌握Java编程。 我鼓励互动和建立社区因此请留下你的问题、建议或主题请求让我知道你感兴趣的内容。此外我将分享最新的互联网和技术资讯以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进一起探讨技术世界的无限可能性。 保持关注我的博客让我们共同追求技术卓越。