Connexió Java-MySQL bàsica
Salta a la navegació
Salta a la cerca
Contingut
Driver de MySQL per a JAVA
escullo ubuntu Linux, 20.04 Connector/J 8.0.29
i descarreguem el fitxer mysql-connector-java_8.0.29-1ubuntu20.04_all.deb
Instal·lem:
$ sudo dpkg -i mysql-connector-java_8.0.29-1ubuntu20.04_all.deb
el jar ha quedat instal·lat aquí:
$ ls /usr/share/java/m* /usr/share/java/mysql-connector-java-8.0.29.jar
compilem:
$ javac MySQLConnectExample.java
es genera el MySQLConnectExample.class
Seguint el petit tutorial podem utilitzar l'opció -cp per tal de què cerqui el jar file, però a mi no m'ha sortit
-cp <class search path of directories and zip/jar files>
El que a mi m'ha funcionat:
$ export CLASSPATH=/usr/share/java/mysql-connector-java-8.0.29.jar:$CLASSPATH $ echo $CLASSPATH
i ara ja funciona:
$ java MySQLConnectExample Connected to the database municipis Connected to the database vestuari Connected to the database empresa
Codi MySQLConnectExample.java
Codi extret de:
3 maneres una mica diferents d'establir la connexió a 3 bases de dades diferents:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; public class MySQLConnectExample { public static void main(String[] args) { // creates three different Connection objects Connection conn1 = null; Connection conn2 = null; Connection conn3 = null; try { // connect way #1 String url1 = "jdbc:mysql://localhost:3306/municipis"; String user = "alumne"; String password = "keiL2lai"; conn1 = DriverManager.getConnection(url1, user, password); if (conn1 != null) { System.out.println("Connected to the database municipis"); } // connect way #2 String url2 = "jdbc:mysql://localhost:3306/vestuari?user=alumne&password=keiL2lai"; conn2 = DriverManager.getConnection(url2); if (conn2 != null) { System.out.println("Connected to the database vestuari"); } // connect way #3 String url3 = "jdbc:mysql://localhost:3306/empresa"; Properties info = new Properties(); info.put("user", "alumne"); info.put("password", "keiL2lai"); conn3 = DriverManager.getConnection(url3, info); if (conn3 != null) { System.out.println("Connected to the database empresa"); } } catch (SQLException ex) { System.out.println("An error occurred. Maybe user/password is invalid"); ex.printStackTrace(); } } }
Connexió al MySQL del docker
$ docker start mysql_m02bd $ docker inspect mysql_m02bd "IPAddress": "172.17.0.2",
Canvio el meu codi de manera que apunti a aquest altre servidor de MySQL, que està dins del docker:
String url1 = "jdbc:mysql://172.17.0.2:3306/municipis";
$ java MySQLConnectExample Connected to the database municipis Connected to the database vestuari Connected to the database empresa
Generar i executar el jar file
Creem el fitxer manifest.txt:
Manifest-Version: 1.0 Created-By: Joan Main-Class: MySQLConnectExample Class-Path: /usr/share/java/mysql-connector-java-8.0.29.jar
Generem el jar:
$ jar cfm MySQLConnectExample.jar manifest.txt MySQLConnectExample.class
A partir del jar executem l'aplicació:
$ java -jar MySQLConnectExample.jar Connected to the database municipis Connected to the database vestuari Connected to the database empresa
creat per Joan Quintana Compte, maig 2022