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.Driverproperty>
		<property name="jdbcUrl">jdbc:mysql://localhost:3306/test?
            characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghaiproperty>
		<property name="user">rootproperty>
		<property name="password">rootproperty>

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

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

解决方法二:使用来解决

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

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

你可能感兴趣的