Mysql 使用g9 Spring工具套件插件加载数据库模型时出错

Mysql 使用g9 Spring工具套件插件加载数据库模型时出错,mysql,spring-boot,mysql-workbench,mysql-connector,application.properties,Mysql,Spring Boot,Mysql Workbench,Mysql Connector,Application.properties,我已经使用mysql workbench创建了一个示例DB,现在我想使用Spring工具套件中的g9插件将该数据库结构反向工程到java JPA类中,该插件可在eclipse marketplace中获得。到了流程的最后,我可以从我创建的模式中获取表,看起来导入即将发生,但当我单击“finish”时,它会说 读取dbms模型时出错 com.mysql.cj.jdbc.exceptions.CommunicationsException:通信链路故障 从服务器成功接收的最后一个数据包是在71毫秒前

我已经使用mysql workbench创建了一个示例DB,现在我想使用Spring工具套件中的g9插件将该数据库结构反向工程到java JPA类中,该插件可在eclipse marketplace中获得。到了流程的最后,我可以从我创建的模式中获取表,看起来导入即将发生,但当我单击“finish”时,它会说

读取dbms模型时出错 com.mysql.cj.jdbc.exceptions.CommunicationsException:通信链路故障 从服务器成功接收的最后一个数据包是在71毫秒前。最后一个成功发送到服务器的数据包是74毫秒前

我知道还有其他stackoverflow帖子可以说和我所问的属于同一类,但这是专门针对G9的,有点不同。以下是我迄今为止所做的尝试

  • 验证是否使用正确的连接器正确设置了应用程序属性。正如在另一篇文章中所建议的,我已经在pom中添加了以下依赖项,它通过mvn构建/安装并获取DB表
  • mysql mysql连接器java 运行时

  • 验证mysql workbench中的选项文件在关闭连接之前设置了足够的时间,具有正确的DB schema IP地址、端口、密码和用户名,并且这与应用程序属性相关。以下是迄今为止我在数据源配置的应用程序属性中了解到的一些内容

    spring.datasource.driver类名=com.mysql.jdbc.driver

    spring.datasource.url=jdbc:mysql://localhost:3306/db&autoReconnect=true&failOverReadOnly=false&maxReconnects=10&useUnicode=true&characterEncoding=UTF8&allowMultiQueries=true&useSSL=false&serverTimezone=MST

  • 我检查了mysql工作台中的权限设置是否正确

  • 已验证我正在STS中使用较新的连接器(例如,mysql-connector-java-8.0.12.jar)

  • 我曾尝试将驱动程序类从com.mysql.jdbc.driver更改为com.mysql.cj.jdbc.driver,因为我阅读了其他有关这方面的文章


  • 任何关于我所缺少的东西的见解都将不胜感激

    1:检查是否可以在mysql中输入:
    mysql-u username-p

    第二个:
    &autoReconnect=true&failOverReadOnly=false&maxReconnects=10&useucode=true&characterEncoding=UTF8&allowmultiquerys=true&useSSL=false&serverTimezone=MST

    将此更改为:

    ?useLegacyDatetimeCode=false&serverTimezone=UTC
    
    第三:确保您使用的是
    com.mysql.jdbc.Driver

    注意:如果您不能在mysql中输入,请检查您是否使用了任何其他类型的连接,在我的例子中,连接被破坏了,因为它试图连接到mariadb,而该进程不存在


    第一:检查是否可以在mysql中输入:
    mysql-u username-p

    第二个:
    &autoReconnect=true&failOverReadOnly=false&maxReconnects=10&useucode=true&characterEncoding=UTF8&allowmultiquerys=true&useSSL=false&serverTimezone=MST

    将此更改为:

    ?useLegacyDatetimeCode=false&serverTimezone=UTC
    
    第三:确保您使用的是
    com.mysql.jdbc.Driver

    注意:如果您不能在mysql中输入,请检查您是否使用了任何其他类型的连接,在我的例子中,连接被破坏了,因为它试图连接到mariadb,而该进程不存在


    因此,我通过在STS中安装JBoss/Hibernate工具而不是使用G9解决了我遇到的问题。以下站点有助于安装/设置:。如果需要hibernate注释,请确保选择“JPA”类型选项,而不是“Core”,而不是只选择IVAR、getter/setter,而不选择注释

    所以我通过在STS中安装JBoss/Hibernate工具而不是使用G9解决了我遇到的问题。以下站点有助于安装/设置:。如果需要hibernate注释,请确保选择“JPA”类型选项,而不是“Core”,而不是只选择IVAR、getter/setter,而不选择注释

    是的,我之前设置时区有问题。无论应用程序属性中的时区是MST还是UTC,程序仍然会生成,g9导入过程仍然会到达相同的位置。此外,com.mysql.jdbc.Driver已被弃用,因此现在默认为com.mysql.cj.jdbc.Driver。我有一台mac电脑,所以我尝试了mysql-u用户名-p,当然,我必须经历整个sudo过程才能让它工作。服务器设置为在计算机启动时默认运行,因此我验证了它是否正在运行,等等。是的,我在早些时候设置时区时遇到了问题。无论应用程序属性中的时区是MST还是UTC,程序仍然会生成,g9导入过程仍然会到达相同的位置。此外,com.mysql.jdbc.Driver已被弃用,因此现在默认为com.mysql.cj.jdbc.Driver。我有一台mac电脑,所以我尝试了mysql-u用户名-p,当然,我必须经历整个sudo过程才能让它工作。服务器默认设置为在计算机启动时运行,因此我验证了它是否正在运行,等等。