mysql-connector-java 6版本的jdbc链接问题

使用新版本6的jdbc驱动,会出现下面的问题java

Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_171]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_171]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_171]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_171]

就是未识别时区的问题,须要在jdbc链接的url上加上serverTimezone=UTC(世界标准时间)或者GMT(格林威治时间),写成mysql

private String url = "jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=UTC";

   private String username = "root";

   private String password = "root";

   private String driverClassName = "com.mysql.cj.jdbc.Driver";

关于SSL链接的Warning SSL 是Secure Sockets Layer(安全套接层),能够在URL后面再添加一个属性useSSL=false就好了 若是你不须要使用SSL链接,你须要经过设置useSSL=false来显式禁用SSL链接。 若是你须要用SSL链接,就要为服务器证书验证提供信任库,并设置useSSL=truesql

private String url = "jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=UTC&useSSL=false";
相关文章
相关标签/搜索