Wat is er mis met de code, er zijn veel fouten tijdens het debuggen. Ik schrijf een code voor een singleton-klasse om verbinding te maken met de database mysql.
Hier is mijn 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();
}
}
Ik ben nieuw bij Java. Help alstublieft.
Antwoord 1, Autoriteit 100%
Het lijkt erop dat de MySQL-connectiviteitsbibliotheek niet is meegeleverd in het project. Los het probleem op na een van de voorgestelde oplossingen:
- Maven-projecten-oplossing
Voeg de MySQL-connector-afhankelijkheid van het POM.XML-projectbestand toe:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>
Hier bent u alle versies: https://mvnrepository.com/Artifact/mysql/mysql-connector- Java
- Alle projecten Oplossing
voeg de potbibliotheek handmatig toe aan het project.
Klik met de rechtermuisknop op het project – & GT; Bouw pad – & GT; Configureer Build Path
In Libraries Tab
Druk op Add External Jar
en Select
Your Jar.
U kunt ZIP voor MySQL-connector hier
- Uitleg:
Bij het bouwen van het project gooit Java u een uitzondering omdat een bestand (de COM.MYSQL.JDBC.DRIVER-klasse) van de MySQL-connectiviteitsbibliotheek niet wordt gevonden. De oplossing voegt de bibliotheek toe aan het project en Java vindt de COM.MYSQL.JDBC.DRIVER
Antwoord 2, Autoriteit 41%
Als u de fout in uw IDE hebt (Compile-Time Fout), moet u uw MySQL-connector JAR-bestand aan uw libs toevoegen en dit ook toevoegen aan uw referentie-bibliotheek van Project.
Als u deze foutmelding krijgt wanneer u het gebruikt, dan is het waarschijnlijk omdat u MySQL-connector JAR-bestand niet hebt opgenomen aan de libelmap van uw Webserver.
Toevoegen mysql-connector-java-5.1.25-bin.jar
naar uw klassenpad en ook naar de libelmap van uw webserver. Tomcat Lib Path wordt als voorbeeld gegeven Tomcat 6.0\lib
Antwoord 3, Autoriteit 14%
Iedereen heeft een antwoord geschreven, maar ik ben nog steeds verrast dat niemand het daadwerkelijk heeft beantwoord door de beste eenvoudige manier te gebruiken.
Het beantwoorden van de mensen die het JAR-bestand bevatten. Maar de fout zal nog steeds plaatsvinden.
De reden daarvoor is de pot niet ingezet wanneer het project wordt uitgevoerd. Dus, wat we moeten doen is, vertel de IDE om deze pot ook te implementeren.
De mensen hier hebben zoveel keren beantwoord die dat JAR-bestand in de Lib-map van Web-Inf plaatsten. Dat lijkt goed, maar waarom zou het handmatig doen. Er is een eenvoudige manier. Controleer de onderstaande stappen:
Stap 1: Als u het JAR-bestand niet in het project hebt verwezen, verwezen dit dan als deze.
Klik met de rechtermuisknop op het project en ga naar de projecteigenschappen.
Ga vervolgens naar het Java-buildpad en voeg vervolgens extern jar-bestand toe via dat.
Maar dit zal het probleem nog steeds niet oplossen omdat het toevoegen van de externe jar via het buildpad alleen helpt bij het samenstellen van de klassen, en de pot wordt niet ingezet wanneer u het project uitvoert. Volg deze stap
Klik met de rechtermuisknop op het project en ga naar de projecteigenschappen.
Ga vervolgens naar de Deployment Assemblyen druk vervolgens op Add, ga dan naar de java build path-vermeldingenen voeg uw bibliotheken toe, of het nu jstl, mysql is of een ander jar-bestand. voeg ze toe aan de implementatie.
Hieronder staan de twee foto’s waarop het wordt weergegeven.
Antwoord 4, autoriteit 11%
Voor Gradle-gebaseerde projecten heb je een afhankelijkheid nodig van MySQL Java Connector:
dependencies {
compile 'mysql:mysql-connector-java:6.0.+'
}
Antwoord 5, autoriteit 10%
controleer op jar(mysql-connector-java-bin)
in uw classpath download hier
Antwoord 6, autoriteit 9%
Je moet de driver jar voor MySQL MySQL Connector Jaropnemen in je classpath.
Als u Eclipse gebruikt:
Afhankelijke bibliotheken toevoegen in Eclipse
Als u de opdrachtregel gebruikt, moet u het pad naar de driver-jar opnemen met de parameter -cp van java.
java -cp C:\lib\* Main
Antwoord 7, autoriteit 6%
JDBC API bestaat meestal uit interfaces die onafhankelijk van elke database werken. Een database-specifieke driver is vereist voor elke database die de JDBC API implementeert.
Download eerst de MySQL-connector JAR van www.mysql.com, dan:
Right Click the project -- > build path -- > configure build path
In het tabblad Bibliotheken drukken op Add External Jar
en selecteer uw pot.
Antwoord 8, Autoriteit 2%
Voor MAVEN-gebaseerde projecten hebt u een afhankelijkheid nodig.
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
Antwoord 9, Autoriteit 2%
In het project in de mapbibliotheken – & GT; klik met de rechtermuisknop – & GT; Bibliotheek toevoegen – & GT; MySQLConnector 5.1
Antwoord 10, Autoriteit 2%
De connector van de bestuurder bevindt zich niet in uw bouwpad. Configureer het buildpad en wijs het naar de ‘Mysql-connector-java-5.1.25-bin.jar’ (controleer de versie die u gebruikt). Als alternatief kunt u Maven gebruiken: D
Antwoord 11, Autoriteit 2%
Ga naar uw projectstructuur (bestand, projectstructuur) en voeg de MySQL-connector toe. Jar-bestand aan uw wereldwijde bibliotheek. Eenmaal daar, klik er met de rechtermuisknop op en koos ‘Toevoegen aan modules’. Hit Solliciteer / OK en je moet goed zijn om te gaan.
Antwoord 12
triviaal omdat het lijkt in mijn case netbeans versie Maven Project 7.2.1 was anders. Er is een map in het project genaamd afhankelijkheden. Klik met de rechtermuisknop en vervolgens brengt het een pop-upvenster op waar u naar pakketten kunt zoeken. In het query-gebied Zet
mysql-connector
Het zal de overeenkomsten oproepen (het lijkt erop dat het dit doet tegen een repository). Dubbelklik en installeer.
Antwoord 13
Het is omdat de WEB-INF-map niet bestaat op de locatie in de submap in de fout. Ofwel compileer je de applicatie om de WEB-INF-map onder public_html te gebruiken OF kopieer je de WEB-INF-map in de submap zoals in de bovenstaande fout.
Antwoord 14
De uitzondering kan ook optreden omdat het klassenpad niet is gedefinieerd.
Na urenlang onderzoek en letterlijk honderden pagina’s doorlopen, was het probleem dat het klassenpad van de bibliotheek niet was gedefinieerd.
Stel het klassenpad als volgt in op uw Windows-computer
set classpath=path\to\your\jdbc\jar\file;.
Antwoord 15
Ik heb uw probleem begrepen, voeg deze afhankelijkheid toe aan uw pom.xml, uw probleem zal worden opgelost,
https://mvnrepository.com/artifact/mysql/mysql- connector-java/5.1.38
Antwoord 16
Als je tomcat gebruikt, moet je samen met de projectdirectory ook het jar-bestand van de databaseconnector kopiëren naar tomcat/lib. dit werkte voor mij
Antwoord 17
Dit moet vanaf 2020 worden gebruikt
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
Antwoord 18
Ik ontwikkel een eenvoudige JavaFX11-toepassing met SQLite Database in Eclipse IDE. Om rapport te genereren heb ik Jasper-potten toegevoegd. Plots geeft het een “DIT”-foutmelding.
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Het liep goed (VOOR DEZE AANVULLING). Maar plotseling!
Ik gebruik geen maven of andere beheerders voor deze eenvoudige toepassing. Ik voeg potten handmatig toe.
Ik heb “Gebruikersbibliotheek” gemaakt en mijn jars toegevoegd vanuit externe mappen.
PROBLEEM GEBIED:
Mijn “Gebruikersbibliotheek” zijn gemarkeerd als systeembibliotheek. Ik heb zojuist de markering verwijderd. Nu is het geen systeembibliotheek. “NU WERKT MIJN PROJECT GOED”.
DEBUG MYSELF: andere dingen geprobeerd:
AT RUN CONFIGURATIE: Probeer bibliotheek te verwijderen en potten één voor één toe te voegen en kijk. – hier moet je alle potten één voor één verwijderen, er is geen selecteer alles en verwijder nu in eclipse in run-configuratie. Dus de foutmeldingen veranderen van de ene pot naar de andere.
Ik hoop dat dit iemand helpt.
Antwoord 19
I was also facing the same problem
Download mysql-connector-javajar-bestand
plak het in de
C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib
Ik hoop dat dit ook voor jou werkt !!