Mysql
 sql >> Database >  >> RDS >> Mysql

OpenShift webapps connessione mysql java

Ho risolto il problema da solo ed ero estremamente entusiasta. Anche se non ho ricevuto aiuto da solo, spero che qualcun altro arrivi su questo thread e riesca a farlo funzionare!

Quindi ho un'applicazione Vaadin, che è stata compilata in un file WAR. L'ho distribuito sui server OpenShift con i seguenti passaggi:

Distribuzione della webapp compilata in OpenShift

  1. Apri OpenShift nel tuo browser web. Accedi a Openshift. Passa all'applicazione in questione.
  2. Ottieni il codice ssh di quell'applicazione (dovrebbe essere a destra dello schermo), che si trova a destra delle cartucce. Copia quel codice usando Comando-C o Ctrl-C.
  3. Apri Terminale e digita git clone ssh:\\xxxxxxxxxxxxxxxx...
  4. Se sei su Mac, come me, dovrebbe creare una directory di progetto in Users/Username/Appname . All'interno di quella directory, elimina la cartella di origine e pom.xml . Prendi il tuo file WAR compilato e copialo in webapps directory .
  5. Vai al Terminale. Digita cd Appname , quindi git add . , git commit -m "Deployment" e infine git push .
  6. La tua applicazione dovrebbe ora funzionare completamente su www.openshiftappname-domainname.rhcloud.com/warfilename

Accesso a MySQL

  1. Installa le cartucce per MySQL e phpMyAdmin. Dovrebbe essere disponibile tramite Add Cartidge al tuo openshift.com hub dell'app.
  2. Annota il tuo username e password al database MySQL che OpenShift genera automaticamente per te. Vai a www.openshiftappname-domainname.rhcloud.com/phpmyadmin , inserisci le credenziali di autenticazione.
  3. All'interno di phpMyAdmin dovrebbe esserci l'indirizzo IP del server; assomiglia a 127.x.y.z:3306 . x, y, and z possono essere numeri da una cifra a tre cifre.
  4. Crea rapidamente un nuovo database chiamato quello che vuoi. Lo chiamerò test e quindi di conseguenza produrre una nuova tabella lì chiamata testtable .
  5. Quindi ricordi la tua applicazione WAR distribuita? Bene, se stai usando MySQL, scommetto che l'hai già incluso nella tua applicazione. I passaggi di base per stabilire una connessione a MySQL sono tali.

Codice Java

Vai al progetto IDE aperto che hai compilato nel tuo file WAR. Vai al pom.xml all'interno del tuo progetto se si tratta di un progetto Maven e aggiungi la dipendenza:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.25</version>
 </dependency>
  1. Quindi usa il seguente codice.

String s = "jdbc:mysql://" + host + ":" + port + "/" + name" , dove host è l'server IP address , la porta è 3306 e nome è il database name , nel mio caso, test .

try {
    Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
     e.printStackTrace();
}

try {
    Connection con = DriverManager.getConnection(s, username, password);
}
catch (SQLException e) {
    e.printStackTrace();
}

Ora if (con == null) non ha funzionato. E se non è null , lo ha fatto.

Per testare, dovresti ricompilare il tuo file WAR (dopo aver provato in qualche modo a testarlo visivamente). Se hai bisogno di ulteriore aiuto, lascia un commento. Dovrebbe funzionare quando compili il file WAR e ripeti i passaggi 4-6 nella prima sezione:Deployment of compiled webapp to OpenShift . Grazie!