Essayez de charger le pilote avant d'utiliser le DriverManager
classe.
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);
}
De la part d'O'Reilly :
Ceci est nécessaire puisque vous avez placé la bibliothèque dans le dossier JDK/lib qui, je suppose, est chargé à l'aide d'un ClassLoader différent de celui utilisé par votre application. Étant donné que différents chargeurs de classe ont été utilisés, l'enregistrement automatique effectué par les pilotes JDBC 4.0+ ne prendra pas effet. Vous pouvez essayer de placer le fichier jar du pilote dans la bibliothèque de votre serveur d'applications, qui doit utiliser le même ClassLoader de votre application. Voir :Quand Class.forName est-il nécessaire lors de la connexion à une base de données via JDBC dans une application Web ?
Concernant l'inscription automatique
Concernant les chargeurs de service