- -问题分析- -
这是一个很低级的错误,但往往越是低级的错误我们反而越难发现。我们先来看它的错误信息:
java.sql.SQLException: The connection property 'useSSL' only accepts values of the form: 'true', 'false', 'yes' or 'no'. The value 'false;' is not in this set.
;
看到这些信息,相信你即便是一个英语不怎么好的人也大致能够看出来是因为mysql连接配置的url出了问题,当你仔细查看了一遍自己配置的url,发现并没有什么错误,但就是无法正常使用,最后你就会去百度别人的url,复制、粘贴,诶!好了,问题解决!(以上为本人的真实经历)
。其实,这样虽然解决了问题,但我们永远无法知道问题为什么会发生,当你第二次遇到的时候你任然会出错(本人第n次错了,每次都百度太麻烦了,实则受不了了,所以有了这篇博客)
,
我们仔细来分析错误信息:首先,如果你的报错信息和我上面的一模一样,那么你肯定是使用了Porperties类去加载mysql的配置文件进行连接的,接着,我们可以看到错误信息中的 property
,这个词的意思是属性的意思,在Porperties类中就有一个获取属性的方法,我们也是用这个方法来拿到配置信息的。然后,我们来看错误信息后面的提示:'useSSL' only accepts values of the form: 'true', 'false', 'yes' or 'no'. The value 'false;' is not in this set.
;它的意思是:useSSL的值只能是true、false、yes、no,而我们的值是【false;】,是的,因为在false后面多加了一个分号,因为平常写代码习惯性的加分号。
检查自己的mysql配置信息文件(.porperties),切忌在配置信息后面加分号。