Spróbuj załadować sterownik przed użyciem DriverManager
klasa.
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);
}
Od O'Reilly:
Jest to wymagane, ponieważ umieściłeś bibliotekę w folderze JDK/lib, który, jak zakładam, jest ładowany przy użyciu innego ClassLoadera niż ten, którego używa twoja aplikacja. Ponieważ użyto programów ładujących różne klasy, automatyczna rejestracja dokonywana przez sterowniki JDBC 4.0+ nie zadziała. Możesz spróbować umieścić plik jar sterownika w lib serwera aplikacji, który powinien używać tego samego ClassLoader Twojej aplikacji. Zobacz:Kiedy Class.forName jest potrzebne podczas łączenia się z bazą danych przez JDBC w aplikacji internetowej?
Dotyczy automatycznej rejestracji
Dotyczy programów ładujących usługi