美文网首页
mysql驱动连接 Cannot load driver cla

mysql驱动连接 Cannot load driver cla

作者: coderYJ | 来源:发表于2020-04-22 15:10 被阅读0次

    Cannot load driver class: com.mysql.cj.jdbc.Driver 原因是 mysql的驱动连接不正确

    • 1.原因是mysql引用的mysql-connector-java 的jar包版本问题。因为com.mysql.cj.jdbc.Driver的引擎是在mysql-connector-java 6以上版本才改的。
    • 以下版本还是com.mysql.jdbc.Driver。这就很尴尬了。说白了,就是因为版本问题,所以mysql的引擎写错了。当然无法连接。
    • 2.mysql5及之前的版本使用的是旧版驱动"com.mysql.jdbc.Driver",
    <!--Mysql数据库驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
    

    mysql 驱动连接配置

    driverClassName=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false
    username=root
    password=
    
    • 3.JDBC连接Mysql6 com.mysql.cj.jdbc.Driver, 需要指定时区serverTimezone
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>6.0.6</version>
    </dependency>
    

    mysql 连接

    driverClassName=com.mysql.cj.jdbc.Driver
    url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
    username=root
    password=
    

    在设定时区的时候,如果设定serverTimezone=UTC,会比中国时间早8个小时,如果在中国,可以选择Asia/Shanghai或者Asia/Hongkong

    • 还有一个警告
    WARN: Establishing SSL connection without server’s identity verification is not recommended. 
    According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection 
    must be established by default if explicit option isn’t set. 
    For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. 
    You need either to explicitly disable SSL by setting useSSL=false, 
    or set useSSL=true and provide truststore for server certificate verification.
    

    不推荐不使用服务器身份验证来建立SSL连接。
    如果未明确设置,MySQL 5.5.45+, 5.6.26+ and 5.7.6+版本默认要求建立SSL连接。
    为了符合当前不使用SSL连接的应用程序,verifyServerCertificate属性设置为false
    如果你不需要使用SSL连接,你需要通过设置useSSL=false来显式禁用SSL连接。
    如果你需要用SSL连接,就要为服务器证书验证提供信任库,并设置useSSL=true
    SSL – Secure Sockets Layer (安全套接层)

    简书coderYJ
    微博coderYJ
    微信公众号coderYJ

    相关文章

      网友评论

          本文标题:mysql驱动连接 Cannot load driver cla

          本文链接:https://www.haomeiwen.com/subject/wvmiihtx.html