Explicarem com fer una app en Java amb el IDE Netbeans. Usarem l’eina Maven per construir el projecte. Connectarem a una base de dades MySQL.
Tenim instal·lat:
Windows 11
Apache Netbeans 18
JDK 20
MySQL 8
Clic en File/New Project:
Escollim: Java with Maven/Java Application. Clic en següent.
Posem el nom del projecte. Clic en Finish.
S’obre la classe principal NetbeansMavenMysql amb el mètode main , per on comença a executar-se l’aplicació.
De moment només imprimirà en pantalla: “Hello World”.
En la carpeta Project Files del projecte, a l’esquerra a baix, s’ubica el fitxer de Maven on hi haurà totes les dependències.
pom.xml
A l’esquerra en el projete clic en: Dependencies/Add Dependency.
En el apartat Query escrivim: Connector MySQL
En el resultat de la cerca es mostra el jar que tenim que afegir.
Clic Add.
S’afegeix la nova dependència en el pom.xml amb el groupId, l’artifactId i la versió.
Posem en la classe principal quatre variables globals i estàtiques:
La connexio de la classe Connection.
La url fa servir el protocol jdbc i connecta amb la base de dades de compres:
url= “jdbc:mysql://localhost/compres”
El usuari i contrasenya per connectar amb la base de dades.
Escrivim en el main:
connexio= obrirConnexio();
url= “jdbc:mysql://localhost/compres”
En el boto vermell de l’esquerra, clic en crear automàticament el mètode obrirConnexio(). El mètode creat és sense codi.
Afegim el següent codi:
private static Connection obrirConnexio() {
try {
Class.forName("com.mysql.cj.jdbc.Driver"); // Carragem la classe Driver de MySQL.
connexio = DriverManager.getConnection(url, usuari, contrasenya);
System.out.println("Connexió oberta");
} catch (SQLException ex) {
System.out.println("Error al obrir la connexió: " + ex.getMessage());
} catch (ClassNotFoundException ex) {
Logger.getLogger(NetbeansMavenMysql.class.getName()).log(Level.SEVERE, null, ex);
}
return connexio;
}
Carregem la classe Driver de MySQL.
El mètode getConnection(url, usuari, contrasenya) de la classe DriverManager retorna la connexió oberta.
Imprimim en pantalla: “Connexió oberta”.
El try-catch el monte automàticament el Netbeans.
Canviem el “Hello World” per “Provant l’aplicació Mysql”.
Executem:
Observen el Output a baix el resultat: “Connexió oberta”.
Sempre hem de tancar la connexió a la base de dades, la manera de fer és: obrir, treballar amb la base de dades i immediatament tancar la connexió.
El mètode el que fa és: si la connexió es diferent de Null, si existeix la connexió, la tanquem.
El try-catch el fa automàticament el IDE.
Si falla el try, la prova, salta el codi al catch que atrapa la excepció.
Aquest mètode es cridarà des del mètode main. Executem:
Volem llegir els noms dels proveïdors de la base de dades compres.
Mirem que hi ha a la base de dades:
Amb la línia de comandes de MySQL, escrivim:
Per anar a compres:
use compres;
Per mirar les taules de la base de dades:
show tables;
Per obtenir el contingut de la taula proveïdor:
select * from proveïdor;
Escrivim en el main el nou mètode:
mostrarProveidors();
El mètode serà com el següent:
private static void mostrarProveidors() {
System.out.println("Noms dels proveïdors:");
connexio = obrirConnexio();
String sql = "SELECT nom FROM proveidor";
try {
Statement statement = connexio.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
String nom = resultSet.getString("nom");
System.out.println(nom);
}
tancarConnexio(connexio);
} catch (SQLException ex) {
Logger.getLogger(NetbeansMavenMysql.class.getName()).log(Level.SEVERE, null, ex);
}
}
Explicació del codi:
Primer obrim la connexió.
Creem la variable String sql que compte el Select.
Creem el statment.
Obtenim el resultSet, aplicant el mètode executeQuery(sql).
En un bucle amb el mètode de resultSet, getString(nom), obtenim els noms i els imprimim per pantalla.
Executem i observem en el output els noms dels proveïdors:
El mar.
Havaneres.
Lloret antic.
Lloret avui.
De cala Morisca a Sa Carabera.
De Sa Carabera a Treumal.
Lloret en kayak.
Vígilancia remota.
Caixa-tpv.
Cambrer-app.
Client webApp.
Relats del banc del si no fos
Històries d'ahir
Vídeos antics de Lloret
El caiac
Contes de l'avi.
Control d’accés amb contrasenya.
Orgue de llums.
Comparativa de editors Arduino.
Projecte bon Nadal.
Control de la qualitat del aire interior (CO2) amb semàfor LED.
NodeMCU-ThingSpeak
ThingSpeak.
NodeMCU com AccessPoint.
Control de la llum de casa per web.
Control de un led per el mòbil.
Sistema de fitxers en ESP8266.
Altura del nivell d'aigua.
Avis d’alarma a Telegram.
Control de la intensitat de llum de un LED per Internet.
Magatzematge de temperatura i humitat en Thinger.
Publicar temperatura i humitat en Google Sheets.
ESP8266 i Firebase.
La bàscula. ESP8266 NodeMCU amb cèl·lula de càrrega.
ESP32-CAM
ESP32-CAM captura fotos per ser vistes en la WEB.
Pujar fotos a un servidor FTP amb ESP32-CAM.
MicroPython en ESP8266.
Visual Estudio Code per Arduino.
Classificador d’imatges.
Instal·lar i configurar Apache en Ubuntu.
Accés a un servidor Linux remotament.
Client i Servidor FTP.
Màquina virtual UBUNTU.
WindowsXP en Virtualbox.
Multisim, simulador de circuits electrònics.
Proteus, simulador de circuits electrònics.
MySQL. Instal·lació.
MySQL. Aplicacions.
Netbeans Maven MySQL.
Java+Netbeans+Maven+EclipseLink+Mysql
Aplicació d’escriptori JavaFX
App JavaFX amb SceneBuilder
App Java-Swing
Poeta Joan Carner
Noves tecnologies WEB Arduino Domótica MycroPython NodeMCU IoT Java ESP8266 Lora C++ Programació Server-Client