连接Mysql5.7时候遇见的一些奇葩的问题

前言:我就没遇见这么有脾气的数据款,一个连接字符串这么我老久了,每种配置文件都特么不一样,记录下,下次好过坑

        

问题一、提示你需要指定SSL连接


	

警告信息:

EstablishingSSL connection without server's identity verification is notrecommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+requirements SSL connection must be established by default ifexplicit option isn't set. For compliance with existing applicationsnot using SSL the verifyServerCertificate property is set to 'false'.You need either to explicitly disable SSL by setting useSSL=false, orset useSSL=true and provide truststore for server certificateverification.

        按这个提示应该是说SSL需要指定:指定好了,可以解决,但是如果搭上指定字符集又遇上问题了

问题二:指定SSL连接后,指定字符集


	

警告信息:

java.sql.SQLException:The connection property 'useSSL' only accepts values of the form:'true', 'false', 'yes' or 'no'. The value'false;characterEncoding=utf-8' is not in this set.

 

        我最开始是觉得是不是逗号写错了,后来发现没问题,综合网上的将“;”换成了&&xml校验不通过,发现在db.properties中可以使用&进行连接,如果是在value或者xmlproperty中进行拼接则校验不通过。

        最好解决方案:


	
最终的方案:

1、如果是在properties文件中,可以使用&进行属性的分割。

2xml的字符串中进行拼接,他总会提示你用;替换&符号,但是有的可以有的又不行,必须mybatis单独使用的时候在value属性里面指定连接字符串的时候可以用;就可以了,但是在mybatis的逆向工程中,指定的话就会报错。所以综合下,在xml中使用jdbc:mysql://localhost:3306/mybatis?usessl=true&characterEncoding=utf-8中的&替代;。


你可能感兴趣的:(我遇见的奇葩的异常)