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


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

    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(格林威治时间),写成

       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=true

     private String url = "jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=UTC&useSSL=false";
    
  • 相关阅读:
    OSI结构和TCP/IP模型
    将[4,3,2,5,4,3]分割成[4,3,2]、[5,4,3]两个List的算法
    Mybatis增加对象属性不增加mapper.xml的情况
    以脚本方式直接执行修改密码的passwd命令
    Raphael的鼠标over move out事件
    Raphael的Braille例子
    Raphael的set使用
    Raphael的transform用法
    Raphael的text及对齐方式
    Raphael初始化,path,circle,rect,ellipse,image
  • 原文地址:https://www.cnblogs.com/homeSicker/p/10233172.html
Copyright © 2020-2023  润新知