org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 90; 对实体 “useSSL“ 的引用必须以 ‘;‘ 分隔符结尾。

今天在测试使用C3P0数据库连接池时,发现了org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 90; 对实体 “useSSL” 的引用必须以 ‘;’ 分隔符结尾。 的错误。仔细查看发现url参数也没写错,后来网上百度了一下,这里记录下两个有效方法。
这是我原先报错的配置信息

		<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
		<property name="jdbcUrl">jdbc:mysql://localhost:3306/test?
            characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai</property>
		<property name="user">root</property>
		<property name="password">root</property>

如果把useSSL=false删掉,或者在后面加";"也还是报错。原因是“&”符号问题。xml语言里,每当数据中有’<’、’&'等符号时,封装的XML就无法解析,有特殊意义。比如&lt代表<,&amp代表&等。
解决方法一:使用&amp代表&

jdbc:mysql://localhost:3306/test?
characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai

解决方法二:使用<![CDATA[ ]]>来解决

<![CDATA[jdbc:mysql://localhost:3306/test?
characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai]]>

使用<![CDATA[ ]]>会将[]中的代码按纯文本解析。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页