Quel est le problème avec le code, il y a beaucoup d'erreurs lors du débogage. J'écris un code pour une classe singleton pour se connecter à la base de données mysql.
Voici mon code
package com.glomindz.mercuri.util;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySingleTon {
String url = "jdbc:mysql://localhost:3306/";
String dbName = "test";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "";
private static MySingleTon myObj;
private Connection Con ;
private MySingleTon() {
System.out.println("Hello");
Con= createConnection();
}
@SuppressWarnings("rawtypes")
public Connection createConnection() {
Connection connection = null;
try {
// Load the JDBC driver
Class driver_class = Class.forName(driver);
Driver driver = (Driver) driver_class.newInstance();
DriverManager.registerDriver(driver);
connection = DriverManager.getConnection(url + dbName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
return connection;
}
/**
* Create a static method to get instance.
*/
public static MySingleTon getInstance() {
if (myObj == null) {
myObj = new MySingleTon();
}
return myObj;
}
public static void main(String a[]) {
MySingleTon st = MySingleTon.getInstance();
}
}
Je suis nouveau sur java. Veuillez aider.
java
jdbc
mysql-connector
atikul hussain
la source
la source
Réponses:
Il semble que la bibliothèque de connectivité mysql ne soit pas incluse dans le projet. Résolvez le problème en suivant l'une des solutions proposées:
Ajoutez la dépendance mysql-connector au fichier projet pom.xml:
Voici toutes les versions: https://mvnrepository.com/artifact/mysql/mysql-connector-java
Ajoutez la bibliothèque jar manuellement au projet.
Cliquez avec le bouton droit sur le projet -> chemin de construction -> configurer le chemin de construction
Sous
Libraries Tab
presseAdd External Jar
etSelect
votre pot.Vous pouvez trouver le zip pour le connecteur mysql ici
Lors de la construction du projet, java vous renvoie une exception car un fichier (la classe com.mysql.jdbc.Driver) de la bibliothèque de connectivité mysql est introuvable. La solution ajoute la bibliothèque au projet et java trouvera le pilote com.mysql.jdbc.
la source
mysql-connector-java-8.0.15.jar
fichier dans leapache-tomcat-9.0.16\lib
dossier, comme suggéré par @Asad.Si vous avez l'erreur dans votre IDE (erreur de compilation), vous devez ajouter votre fichier jar mysql-connector à vos bibliothèques et l'ajouter également à votre bibliothèque de projet référencée.
Si vous obtenez cette erreur lorsque vous l'exécutez, c'est probablement parce que vous n'avez pas inclus le fichier JAR du connecteur mysql dans le dossier lib de votre serveur Web.
Ajoutez
mysql-connector-java-5.1.25-bin.jar
à votre classpath et également au répertoire lib de votre serveur Web. Le chemin de la bibliothèque Tomcat est donné à titre d'exempleTomcat 6.0\lib
la source
Pour les projets basés sur Gradle , vous avez besoin d'une dépendance sur MySQL Java Connector :
la source
runtime 'mysql:mysql-connector-java:6.0.+'
.Vous devrez inclure le pilote jar pour MySQL MySQL Connector Jar dans votre chemin de classe.
Si vous utilisez Eclipse: Comment ajouter des bibliothèques dépendantes dans Eclipse
Si vous utilisez la ligne de commande, incluez le chemin d'accès au fichier jar du pilote à l'aide du paramètre -cp de java.
la source
-cp
donne Impossible de trouver ou de charger l'erreur de classe principale. Dois-je placer la classe principale dans un autre dossier?vérifier
(mysql-connector-java-bin)
le fichier jar dans votre chemin de classe télécharger à partir d'icila source
Tout le monde a écrit une réponse, mais je suis toujours surpris que personne n'y ait répondu en utilisant le meilleur moyen simple.
Les personnes répondent qui incluent le fichier jar. Mais, l'erreur se produira toujours.
Les gens ici ont répondu tellement de fois qu'ils ont mis ce fichier jar dans le dossier lib de WEB-INF. Cela semble correct, mais pourquoi le faire manuellement. Il existe un moyen simple. Vérifiez les étapes ci-dessous:
Mais cela ne résoudra toujours pas le problème car l'ajout du fichier jar externe via le chemin de compilation ne permet que de compiler les classes, et le fichier jar ne sera pas déployé lorsque vous exécutez le projet. Pour cela, suivez cette étape
la source
L'API JDBC se compose principalement d'interfaces qui fonctionnent indépendamment de toute base de données. Un pilote spécifique à la base de données est requis pour chaque base de données qui implémente l'API JDBC.
Téléchargez d'abord le fichier jar du connecteur MySQL sur www.mysql.com, puis:
Right Click the project -- > build path -- > configure build path
Dans l'onglet bibliothèques, appuyez sur
Add External Jar
et sélectionnez votre pot.la source
Pour les projets basés sur Maven, vous avez besoin d'une dépendance.
la source
Dans le projet dans le dossier Bibliothèques -> clic droit -> Ajouter une bibliothèque -> Mysqlconnector 5.1
la source
Le connecteur de pilote ne se trouve pas dans votre chemin de génération. Configurez le chemin de construction et pointez-le vers le 'mysql-connector-java-5.1.25-bin.jar' (vérifiez la version que vous utilisez). Vous pouvez également utiliser maven: D
la source
Aussi banal que cela puisse paraître dans mon cas, la version de netbeans maven project 7.2.1 était différente. Il existe un dossier dans le projet appelé dépendances. Faites un clic droit, puis une fenêtre contextuelle apparaît dans laquelle vous pouvez rechercher des packages. Dans la zone de requête, mettez
Cela fera apparaître les correspondances (il semble qu'il le fasse contre un référentiel). Double-cliquez puis installez.
la source
C'est parce que le dossier WEB-INF n'existe pas à l'emplacement dans le sous-répertoire de l'erreur. Vous compilez l'application pour utiliser le dossier WEB-INF sous public_html OU copiez le dossier WEB-INF dans le sous-dossier comme dans l'erreur ci-dessus.
la source
Pour IntelliJ Idea, accédez à la structure de votre projet (fichier, structure du projet) et ajoutez le fichier .jar du connecteur mysql à votre bibliothèque globale. Une fois là-bas, faites un clic droit dessus et choisissez «Ajouter aux modules». Appuyez sur Appliquer / OK et vous devriez être prêt à partir.
la source
L'exception peut également se produire car le chemin de classe n'est pas défini.
Après des heures de recherche et parcourant littéralement des centaines de pages, le problème était que le chemin de classe de la bibliothèque n'était pas défini.
Définissez le chemin d'accès aux classes comme suit dans votre machine Windows
la source
J'ai compris votre problème, ajoutez cette dépendance dans votre pom.xml, votre problème sera résolu,
https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.38
la source
Si vous utilisez tomcat, avec le répertoire du projet, vous devez également copier le fichier jar du connecteur de base de données dans tomcat / lib. cela a fonctionné pour moi
la source
Cela doit être utilisé à partir de 2020
la source
Je développe une application JavaFX11 simple avec une base de données SQLite dans Eclipse IDE . Pour générer un rapport, j'ai ajouté des pots Jasper. Soudain, il jette l' erreur "CECI" .
Il fonctionnait bien (AVANT CET AJOUT). Mais soudain!
Je n'utilise pas maven ou d'autres gestionnaires pour cette application simple. J'ajoute des pots manuellement.
J'ai créé "User Library" et ajouté mes pots à partir de dossiers externes.
ZONE PROBLEME: Ma "Bibliothèque utilisateur" est marquée comme bibliothèque système. Je viens de supprimer le marquage. Maintenant, ce n'est pas une bibliothèque système. "MAINTENANT MON PROJET FONCTIONNE BIEN".
DEBUG MYSELF: J'ai essayé d'autres choses: AT RUN CONFIGURATION: Essayez, supprimez la bibliothèque et ajoutez les jars un par un et voyez. - ici, vous devez supprimer tous les jars un par un, il n'y a pas de sélection de tout et de suppression dans eclipse maintenant dans la configuration d'exécution. Ainsi, les messages d'erreur changent d'un bocal à l'autre.
J'espère que cela aide quelqu'un.
la source