Versuchen Sie, den Treiber zu laden, bevor Sie den DriverManager
verwenden Klasse.
try{
String dbURL = "jdbc:mysql://localhost:3306/murach";
String username="root";
String password="1234";
Class.forName("com.mysql.jdbc.Driver");//load driver
Connection con2 = DriverManager.getConnection(dbURL, username, password);
String query = "insert into tblUser1(firstname) values('shaon')";
Statement statmnt = con2.createStatement();
statmnt.executeUpdate(query);
}
Von O'Reilly:
Dies ist erforderlich, da Sie die Bibliothek im JDK/lib-Ordner abgelegt haben, von dem ich annehme, dass er mit einem anderen ClassLoader geladen wird als dem, der von Ihrer Anwendung verwendet wird. Da verschiedene Klassenlader verwendet wurden, wird die automatische Registrierung, die von JDBC 4.0+-Treibern stattfindet, nicht wirksam. Sie könnten versuchen, die Treiber-JAR-Datei in der Bibliothek Ihres Anwendungsservers zu platzieren, der denselben ClassLoader wie Ihre Anwendung verwenden sollte. Siehe:Wann wird Class.forName benötigt, wenn eine Verbindung zu einer Datenbank über JDBC in einer Web-App hergestellt wird?
Zur automatischen Registrierung
In Bezug auf Service Loader