Zkuste načíst ovladač před použitím DriverManager
třída.
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'Reillyho:
To je vyžadováno, protože jste umístili knihovnu do složky JDK/lib, o které předpokládám, že je načtena pomocí jiného ClassLoaderu, než který používá vaše aplikace. Protože byly použity zavaděče různých tříd, automatická registrace, kterou provádějí ovladače JDBC 4.0+, se neprojeví. Můžete zkusit umístit soubor jar ovladače do knihovny vašeho aplikačního serveru, který by měl používat stejný ClassLoader vaší aplikace. Viz:Kdy je Class.forName potřeba při připojování k databázi přes JDBC ve webové aplikaci?
Ohledně automatické registrace
Ohledně zavaděčů služeb