Buongiorno a tutti, e ringrazio chi potrà aiutarmi.
Sono un neofita di questo fantastico mondo, che sto studiando da autodidatta. Dopo i miei primi programmi in java ho deciso di fare un passo avanti e iniziare a studiare il db MySql, con conseguente integrazione Java.
Uso Netbeans (versione 28) e ho installato mysql, scaricato il jar mysql connector 9.6.0.
Il test di connessione del db (fatto mediante i Services di netbeans) dà esito positivo, ed ho importato la libreria facendo tasto destro sul progetto -> properties -> build -> compile -> manage ed aggiunto il jar mysql connector 9.6.0.
Ho scritto questo banale codice di prova:
package com.mycompany.databaseconnection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author ---
*/
public class DatabaseConnection {
private static final String URL = "jdbc:mysql://localhost:3306/mysql";
private static final String USER = "root";
private static final String PASSWORD = "password";
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
System.out.println("Hello World!");
Connection con = null;
// Tentativo di connessione
try {
// Tentativo di connessione
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection(URL, USER, PASSWORD);
System.out.println("Connessione al database riuscita!");
// ... operazioni sul database ...
} catch (SQLException e) {
System.err.println("Errore di connessione: " + e.getMessage());
} finally {
// Chiusura della connessione
try {
if (con != null) con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Tuttavia se eseguito questo è l'errore che restituisce:
Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:467)
at java.base/java.lang.Class.forName(Class.java:458)
at com.mycompany.databaseconnection.DatabaseConnection.main(DatabaseConnection.java:25)
Oramai ci sto sbattendo la testa da un po', e non escludo che tutto sia dovuto da una mia stupidata data la mia inesperienza. Vi ringrazio per chi potrà darmi una mano :)
Aggiornamento: con Eclipse non ho questo problema. Quindi il problema è chiaramente la libreria in netbeans.