mybatis相关-转义字符串报错-Cause: org.xml.sax.SAXParseException

mybatis相关-转义字符串报错-Cause: org.xml.sax.SAXParseException

部分报错信息

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'TargetRepository' 
defined in URL [jar:file:/D:/SRA/workspace-nca/.metadata/.plugins/org.eclipse.wst.server.core
					/tmp0/webapps/ciw-web/WEB-INF/lib/ciw-domain-1.0.0.jar!/aero/nca/ciw/domain
					/repository/TrainingCheckRecordTm3Repository.class]: 
				Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: org.apache.ibatis.builder.BuilderException: 
				Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 58; columnNumber: 68; 
				—v‘fƒ^ƒCƒv"select"‚́A‘Ήž‚·‚鏉—¹ƒ^ƒO"</select>"‚ŏI—¹‚·‚镋—v‚ª‚ ‚肜‚·B
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:208)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:585)
	... 24 common frames omitted

Cause: org.xml.sax.SAXParseException

报错原因 :

写在xml中的 SQL 检索条件部分 存在 < ,> ,或者是 作为检索结果的 拼接字符串部分 有 < > 并未进行转义

由于 这两个符号是 xml标签的 组成部分,导致 编译时 无法正确区分SQL文 和 标签

关键提示信息 :—v‘fƒƒCƒv"**select**"‚́A‘Ήž‚·‚鏉—¹ƒƒO"</select>"‚ŏI—¹‚·‚镋—v‚ª‚ ‚肜‚·B

(这里的意思是 出现这个提示 就意味着 编译中 SQL文没有被正确解释,也就是SQL文中可能有错误的字符或者未转义的 字符)

解决方法:

对碰到的 需要转义的字符进行转义 如

指定字符 转义形式
< &lt;
> &gt;

解决过程:

查看 IDE控制台 或者 Eclipse的完整日志文件,就可以从容查看完整的日志信息不用因为找不出错误来回执行浪费时间了

eclipse的日志信息在 eclipse安装位置 的盘符下面 var/log文件夹下

Z:\var\log\项目名文件夹

posted on 2022-05-20 14:19  OwlInTheOaktree  阅读(257)  评论(0编辑  收藏  举报