• Java通过mysql-connector-java-8.0.11连接MySQL Server 8.0遇到的几个问题


    这次新安装了一个MySQL数据库,然后navicat连接数据库一点问题没有。

    但是通过Java的jdbc连接却怎么都建立不了连接。

    报如下错:

    网上找了很久找到了原因:

    数据库用的是Mysql8版本,但工程里面mysql驱动包却是5.1.37版本。只需修改驱动包为8.0.11版本即可。

    而且驱动的包也改变了,由原来的:/generatorSqlmapCustom/lib/mysql-connector-java-5.1.28-bin.jar

    换成了:mysql-connector-java-8.0.11.jar

    结构:

    换成了:

    因此Mysql8.0连接JDBC驱动需要注意以下几点:

    1,驱动的类换了个名字

    Class.forName("com.mysql.cj.jdbc.Driver");

    加上useSSL=true或false 

    con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useSSL=true", "root", "123456");

    加上serverTimezone=GMT

    con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useSSL=true&serverTimezone=GMT", "root", "123456");

    如果是maven引入,则需要由:

    <!-- mysql -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.37</version>
    </dependency>

    改为:

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.11</version>
    </dependency>

    在mybatis逆向工程里面配置改成如下:

            <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
            <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                connectionURL="jdbc:mysql://localhost:3306/taobao" userId="root"
                password="aaaaaa">
            </jdbcConnection>
  • 相关阅读:
    为Internal页面添加一个Unit Test的运行入口
    使用 AWSTATS 来查看IIS/iisnode 日志
    用issnode+IIS来托管NodeJs Server之四:支持Debug
    Restify实践
    Mocha实践
    Graphite实战
    StatsD与Graphite联合作战
    单元测试
    NHibernate配置
    NHibernate概念
  • 原文地址:https://www.cnblogs.com/alsf/p/9346921.html
Copyright © 2020-2023  润新知