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

OpenShift webapps mysql java-forbindelse

Jeg har løst problemet selv og var meget begejstret. Selvom jeg ikke selv modtog hjælp, håber jeg, at der er en anden, der kommer på denne tråd og kan få det til at virke!

Så jeg har en Vaadin-applikation, som er blevet kompileret til en WAR-fil. Jeg implementerede det til OpenShift-servere ved at følge følgende trin:

Implementering af kompileret webapp til OpenShift

  1. Åbn OpenShift i din webbrowser. Log ind på Openshift. Naviger til den pågældende applikation.
  2. Hent ssh-koden for det pågældende program (den skal være til højre på skærmen), placeret til højre for patronerne. Kopier koden ved at bruge Kommando-C eller Ctrl-C.
  3. Åbn Terminal og skriv git clone ssh:\\xxxxxxxxxxxxxxxx...
  4. Hvis du er på Mac, som jeg er, skal den oprette en projektmappe på Users/Username/Appname . Slet kildemappen og pom.xml inde i den mappe . Tag din kompilerede WAR-fil og kopier den ind i webapps bibliotek .
  5. Gå til Terminal. Indtast cd Appname , og derefter git add . , git commit -m "Deployment" , og til sidst git push .
  6. Din applikation skulle nu fungere fuldt ud på www.openshiftappname-domainname.rhcloud.com/warfilename

MySQL-adgang

  1. Installer patronerne til MySQL og phpMyAdmin. Dette bør være tilgængeligt via Add Cartidge på din openshift.com app-hub.
  2. Bemærk dit username og password til MySQL-databasen, som OpenShift automatisk genererer til dig. Gå til www.openshiftappname-domainname.rhcloud.com/phpmyadmin , skal du indtaste godkendelsesoplysningerne.
  3. Inde i phpMyAdmin skulle der være serverens IP-adresse; det ligner 127.x.y.z:3306 . x, y, and z kan være enkeltcifrede til trecifrede tal.
  4. Opret hurtigt en ny database navngivet hvad du vil. Jeg vil kalde det test og derefter producere en ny tabel derinde ved navn testtable .
  5. Så kan du huske din installerede WAR-applikation? Nå, hvis du bruger MySQL, vil jeg vædde på, at du allerede har inkluderet det i din ansøgning. De grundlæggende trin for at etablere en forbindelse til MySQL er som sådan.

Java-kode

Gå til det åbne IDE-projekt, som du kompilerede i din WAR-fil. Gå til pom.xml inde i dit projekt, hvis det er et Maven-projekt, og tilføj afhængigheden:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.25</version>
 </dependency>
  1. Brug derefter følgende kode.

String s = "jdbc:mysql://" + host + ":" + port + "/" + name" , hvor vært er server IP address , porten er 3306 og navn er database name , i mit tilfælde 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();
}

Nu if (con == null) det virkede ikke. Og hvis det ikke er null , det gjorde.

For at teste, bør du genkompilere din WAR-fil (efter at have sat en vis måde at teste den på). Hvis du har brug for yderligere hjælp, så læg en kommentar. Det burde virke, når du kompilerer WAR-fil og gentager trin 4-6 i det første afsnit:Deployment of compiled webapp to OpenShift . Tak!




  1. Fjernelse af dubletter fra resultatet af multiple join på tabeller med forskellige kolonner i MySQL

  2. Viser billede i Ireports ved hjælp af PostgreSql

  3. 2019 Databasetrends – SQL vs. NoSQL, Topdatabaser, Enkelt vs. Multiple Databasebrug

  4. Multiple DB-forbindelse i skinner