Как вставить данные формы в базу данных GoogleCloud Mysql с помощью Java

0

Я пытаюсь загрузить данные формы в базу данных GoogleCloud MySQL с помощью общеизвестных команд MySQL, как указано ниже:

try {java.sql.Connection conn=dao.getcon();
        PreparedStatement ps=conn.prepareStatement("insert into register values(?,?,?,?,?,?,?,?)");
    ps.setString(1,"Subhanshu");
    ps.setString(2,"bigu");
    ps.setLong(3,54566522);
    ps.setLong(4,5456662);
    ps.setString(5,"subhanshu");
    ps.setString(6,"hello");
    ps.setString(7,"hello");
    ps.setString(8,"online");
    ps.execute();
    conn.commit();
    flag=1;
    System.out.print("Success");

    }
    catch(Exception e){

    }

Но данные не вставляются в базу данных. Соединение, с другой стороны, устанавливается легко, как вы можете видеть ниже:

    Loading class 'com.mysql.jdbc.Driver'. This is deprecated. The new driver class is 'com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
Aug 02, 2018 7:08:00 PM com.google.cloud.sql.mysql.SocketFactory connect
INFO: Connecting to Cloud SQL instance [edu-vitae-211606:asia-south1:edu-vitae1].
Aug 02, 2018 7:08:00 PM com.google.cloud.sql.mysql.SslSocketFactory getInstance
INFO: First Cloud SQL connection, generating RSA key pair.
Aug 02, 2018 7:08:01 PM com.google.cloud.sql.mysql.SslSocketFactory fetchInstanceSslInfo
INFO: Obtaining ephemeral certificate for Cloud SQL instance [edu-vitae-211606:asia-south1:edu-vitae1].
Aug 02, 2018 7:08:03 PM com.google.cloud.sql.mysql.SslSocketFactory createAndConfigureSocket
INFO: Connecting to Cloud SQL instance [edu-vitae-211606:asia-south1:edu-vitae1] on IP [35.200.134.221].

Код, который я использовал для установления соединения с GoogleCloud Database, приведен ниже:

 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 = <USER>;
             String password = <PASSWORD>;
             Class.forName("com.mysql.jdbc.Driver");
             String jdbcUrl = String.format(
             "jdbc:mysql://google/eduvitae?cloudSqlInstance=edu-vitae-211606:asia-south1:edu-vitae1&socketFactory=com.google.cloud.sql.mysql.SocketFactory&user=<USER>&password=<PASSWORD>&useSSL=false",
             databaseName,
            instanceConnectionName);
            //Connection con=DriverManager.getConnection("jdbc:mysql://google/eduvitae?cloudSqlInstance=edu-vitae-211606:asia-south1:edu-vitae1&socketFactory=com.google.cloud.sql.mysql.SocketFactory&useSSL=false&user=<USER>&password=<PASSWORD>");
             Connection con = DriverManager.getConnection(jdbcUrl, username, password);
             //con=DriverManager.getConnection("jdbc:mysql://localhost:3306/edu",<USER>,<PASSWORD>);
             //String url= String.format("jdbc:mysql://35.200.134.221:3306/edu-vitae-211606:asia-south1:edu-vitae1");
             //Connection con= DriverManager.getConnection(url, <USER>,<PASSWORD>);
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return con;
    }

}

Скажите, как вставить данные формы в Google Cloud Database. ' Заранее спасибо.

  • 0
    Здравствуй! Можете ли вы отредактировать в вопросе код, который вы используете для загрузки?
  • 0
    @GuillermoCacheda Спасибо, что ответили, но я не понял, о чем вы меня просите. Можете ли вы быть немного более продуманным.
Показать ещё 6 комментариев
Теги:
google-cloud-platform

1 ответ

1
Лучший ответ

После тщательной проверки моего кода я определил свою проблему. В коде есть код, вверху я создал глобальную переменную "private static Connection con". но внутри блока try я создал другую локальную переменную, используя Connection con = DriverManager.getConnection(jdbcUrl, имя пользователя, пароль). Таким образом, произошло то, что локальная переменная использовалась для установления соединения. null connection.Я размещаю нижеприведенное решение для справки:

   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 = <USER>;
             String password = <PASSWORD>;
             Class.forName("com.mysql.jdbc.Driver");
             String jdbcUrl = String.format(
             "jdbc:mysql://google/eduvitae?cloudSqlInstance=edu-vitae-211606:asia-south1:edu-vitae1&socketFactory=com.google.cloud.sql.mysql.SocketFactory&user=<USER>&password=<PASSWORD>;&useSSL=false",
             databaseName,
            instanceConnectionName);
             con = DriverManager.getConnection(jdbcUrl, username, password);
            //Connection con=DriverManager.getConnection("jdbc:mysql://google/eduvitae?cloudSqlInstance=edu-vitae-211606:asia-south1:edu-vitae1&socketFactory=com.google.cloud.sql.mysql.SocketFactory&useSSL=false&user=<USER>&password=<PASSWORD>;");
             //con=DriverManager.getConnection("jdbc:mysql://localhost:3306/edu",<USER>,<PASSWORD>;);
             //String url= String.format("jdbc:mysql://35.200.134.221:3306/edu-vitae-211606:asia-south1:edu-vitae1");
             //Connection con= DriverManager.getConnection(url, <USER>,<PASSWORD>;);
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return con;
    }

}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню