java - 如何使用eclipse将数据插入Google Cloud mysql数据库

标签 java mysql eclipse google-cloud-platform

我正在尝试通过我的应用程序将数据插入 Google Cloud mysql 数据库,该应用程序是通过 eclipse 在 java 上构建的。代码如下:

package com.example.dao;
import java.sql.Connection;
import java.sql.DriverManager;

public class dao {
    private static Connection con;
    public static Connection getcon(){
        try{
            String instanceConnectionName = "edu-vitae1";
            String databaseName = "eduvitae";
             String username = "root";
             String password = "edu";
             String jdbcUrl = String.format(
                     "jdbc:mysql://google/eduvitae?cloudSqlInstance=edu-vitae1&socketFactory=com.google.cloud.sql.mysql.SocketFactory&user=root&password=root&useSSL=false",
                        databaseName,
                        instanceConnectionName);

                    Connection con = DriverManager.getConnection(jdbcUrl, username, password);
            Class.forName("com.mysql.jdbc.GoogleDriver");
            //con=DriverManager.getConnection("jdbc:google:mysql://edu-vitae1>/edu-vitae?user=root&password=root");
        }
        catch (Exception e) {
            System.out.println(e);
        }
        return con;
    }

}

部署项目后,我收到此错误:

java.sql.SQLException: No suitable driver found for jdbc:mysql://google/eduvitae?cloudSqlInstance=edu-vitae1&socketFactory=com.google.cloud.sql.mysql.SocketFactory&user=root&password=root&useSSL=false

谁能帮我解决这个问题。 预先感谢您

最佳答案

三天后,我在代码中发现了一个愚蠢的错误。请注意,在我的代码中,我首先建立了连接,然后使用 Class.forName("com.mysql.jdbc.GoogleDriver"); 加载驱动程序;这是不正确的。您应该首先使用 Class.forName 加载驱动程序,然后使用 DriverManager.getConnection 建立连接。请不要像我一样犯这样愚蠢的错误,因为我在这个愚蠢的错误上浪费了 3 天。我发布了正确的信息以下代码供您引用:

 package com.example.dao;

import java.sql.Connection;
import java.sql.DriverManager;

public class dao {
    private static Connection con;
    public static Connection getcon(){
        try{
            String instanceConnectionName = "edu-vitae1";
            String databaseName = "eduvitae";
             String username = "root";
             String password = "root";
             Class.forName("com.mysql.jdbc.Driver");
             String jdbcUrl = String.format(
                     "jdbc:mysql://google/eduvitae?cloudSqlInstance=edu-vitae1&socketFactory=com.google.cloud.sql.mysql.SocketFactory&user=root&password=root&useSSL=false",
                  databaseName,
                   instanceConnectionName);
                    Connection con = DriverManager.getConnection(jdbcUrl, username, password);
             //con=DriverManager.getConnection("jdbc:mysql://35.200.134.221/edu","root","root");
        }
        catch (Exception e) {
            System.out.println(e);
        }
        return con;
    }

}

关于java - 如何使用eclipse将数据插入Google Cloud mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51581316/

相关文章:

java - Java 8 HotSpot VM 中任何 String 对象构造的通知

java - 如何制作随机单词

java - @Converter 不适用于 JPA 2.4

java - GWT 自动适配复合 Material

c - 在 Ubuntu 上的 Eclipse 中使用默认 CDT 插件安装的 Hello World C 程序生成错误

java - Android - 解析 JSON 字符串

java - 查找数组中出现次数最多的元素[java]

Mysql根据公共(public)group by字段将两个查询结果合并为一个

php - MySQL 使用两个查询创建事件调度程序

java - 在Eclipse中一步步调试java程序