Co jest nie tak z kodem? Podczas debugowania jest dużo błędów. Piszę kod dla klasy singleton, aby połączyć się z bazą danych mysql.
Oto mój kod
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();
}
}
Jestem nowy w Javie. Proszę pomóż.
java
jdbc
mysql-connector
atikul hussain
źródło
źródło
Odpowiedzi:
Wygląda na to, że projekt nie zawiera biblioteki połączeń mysql . Rozwiąż problem, korzystając z jednego z proponowanych rozwiązań:
Dodaj zależność mysql-connector do pliku projektu pom.xml:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.39</version> </dependency>
Oto wszystkie wersje: https://mvnrepository.com/artifact/mysql/mysql-connector-java
Dodaj ręcznie bibliotekę jar do projektu.
Kliknij prawym przyciskiem myszy projekt -> ścieżka kompilacji -> skonfiguruj ścieżkę kompilacji
W
Libraries Tab
prasieAdd External Jar
iSelect
twoim słoiku.Możesz znaleźć zip dla mysql-connector tutaj
Podczas budowania projektu java zgłasza wyjątek, ponieważ plik (klasa com.mysql.jdbc.Driver) z biblioteki połączeń mysql nie został znaleziony. Rozwiązaniem jest dodanie biblioteki do projektu, a java znajdzie sterownik com.mysql.jdbc.Driver
źródło
mysql-connector-java-8.0.15.jar
pliku doapache-tomcat-9.0.16\lib
folderu, zgodnie z sugestią @Asad.Jeśli masz błąd w swoim IDE (błąd kompilacji), musisz dodać plik jar mysql-connector do swoich bibliotek i dodać go również do biblioteki projektu, do której się odwołujesz.
Jeśli pojawi się ten błąd podczas uruchamiania, prawdopodobnie jest to spowodowane tym, że nie dołączyłeś pliku JAR mysql-connector do folderu lib serwera internetowego.
Dodaj
mysql-connector-java-5.1.25-bin.jar
do swojej ścieżki klas, a także do katalogu lib na serwerze internetowym. Jako przykład podano ścieżkę do biblioteki TomcatTomcat 6.0\lib
źródło
W przypadku projektów opartych na Gradle potrzebujesz zależności od MySQL Java Connector :
dependencies { compile 'mysql:mysql-connector-java:6.0.+' }
źródło
runtime 'mysql:mysql-connector-java:6.0.+'
.Każdy napisał odpowiedź, ale nadal jestem zaskoczony, że nikt tak naprawdę nie odpowiedział, korzystając z najprostszego sposobu.
Ludzie odpowiadają, że dołączają plik jar. Ale błąd nadal będzie występował.
Ludzie tutaj odpowiadali tyle razy, że umieścili ten plik jar w folderze lib w WEB-INF. Wydaje się w porządku, ale po co robić to ręcznie. Jest prosty sposób. Sprawdź poniższe kroki:
Ale to nadal nie rozwiąże problemu, ponieważ dodanie zewnętrznego jar za pomocą ścieżki budowania pomaga tylko w kompilacji klas, a jar nie zostanie wdrożony po uruchomieniu projektu. W tym celu wykonaj ten krok
źródło
Będziesz musiał dołączyć jar sterownika dla MySQL MySQL Connector Jar w swojej ścieżce klas.
Jeśli używasz Eclipse: jak dodać biblioteki zależne w Eclipse
Jeśli używasz wiersza poleceń, podaj ścieżkę do pliku jar sterownika, używając parametru -cp pliku java.
źródło
-cp
daje Nie można znaleźć lub załadować błędu klasy głównej. Czy muszę umieścić klasę główną w innym folderze?sprawdź słoik
(mysql-connector-java-bin)
w swojej ścieżce klas do pobrania stądźródło
JDBC API składa się głównie z interfejsów, które działają niezależnie od jakiejkolwiek bazy danych. Dla każdej bazy danych, która implementuje interfejs API JDBC, wymagany jest sterownik specyficzny dla bazy danych.
Najpierw pobierz jar złącza MySQL ze strony www.mysql.com, a następnie:
Right Click the project -- > build path -- > configure build path
W zakładce Biblioteki naciśnij
Add External Jar
i wybierz swój słoik.źródło
W przypadku projektów opartych na Maven potrzebujesz zależności.
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency>
źródło
W projekcie do folderu Biblioteki -> kliknij prawym przyciskiem myszy -> Dodaj bibliotekę -> Mysqlconnector 5.1
źródło
Złącze sterownika nie znajduje się na ścieżce kompilacji. Skonfiguruj ścieżkę kompilacji i wskaż ją na „mysql-connector-java-5.1.25-bin.jar” (sprawdź wersję, której używasz). Alternatywnie możesz użyć maven: D
źródło
Choć może się to wydawać banalne w moim przypadku, projekt maven w wersji netbeans 7.2.1 był inny. W projekcie znajduje się folder o nazwie zależności. Kliknij prawym przyciskiem myszy, a następnie wyświetli się wyskakujące okienko, w którym możesz wyszukać pakiety. W obszarze zapytania wstaw
Przywoła dopasowania (wydaje się, że robi to z jakimś repozytorium). Kliknij dwukrotnie, a następnie zainstaluj.
źródło
Dzieje się tak, ponieważ folder WEB-INF nie istnieje w lokalizacji w podkatalogu, w którym wystąpił błąd. Możesz skompilować aplikację, aby użyć folderu WEB-INF w public_html LUB skopiować folder WEB-INF do podfolderu, jak w powyższym błędzie.
źródło
W przypadku IntelliJ Idea przejdź do struktury projektu (plik, struktura projektu) i dodaj plik .jar łącznika mysql do swojej biblioteki globalnej. Tam kliknij prawym przyciskiem myszy i wybierz „Dodaj do modułów”. Naciśnij Zastosuj / OK i powinieneś być gotowy.
źródło
Wyjątek może również wystąpić, ponieważ ścieżka klasy nie została zdefiniowana.
Po godzinach poszukiwań i dosłownie przeglądaniu setek stron problem polegał na tym, że ścieżka klasowa biblioteki nie została zdefiniowana.
Ustaw ścieżkę klasy w następujący sposób na komputerze z systemem Windows
źródło
Zrozumiałem twój problem, dodaj tę zależność do twojego pom.xml twój problem zostanie rozwiązany,
https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.38
źródło
Jeśli używasz tomcat, to wraz z katalogiem projektu należy również skopiować plik jar konektora bazy danych do tomcat / lib. to działało dla mnie
źródło
Musi być używany od 2020 r
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version> </dependency>
źródło
Tworzę prostą aplikację JavaFX11 z SQLite Database w Eclipse IDE . Aby wygenerować raport, dodałem słoiki Jasper. Nagle wyrzuca błąd „TO” .
Działał dobrze (PRZED TYM DODATKIEM). Ale nagle!
Nie używam mavena ani innych menedżerów do tej prostej aplikacji. Dodaje słoiki ręcznie.
Utworzyłem „Bibliotekę użytkownika” i dodałem moje słoiki z zewnętrznych folderów.
OBSZAR WYSTĘPUJĄCY PROBLEM: Moja „Biblioteka użytkownika” jest oznaczona jako biblioteka systemowa. Właśnie usunąłem oznaczenie. Teraz nie jest to biblioteka systemowa. „TERAZ MÓJ PROJEKT DZIAŁA DOBRZE”.
DEBUG SAM: Próbowałem innych rzeczy: PRZY URUCHOMIENIU KONFIGURACJA: Spróbuj usunąć bibliotekę i dodać słoiki jeden po drugim i zobacz. - tutaj musisz usunąć wszystkie słoiki jeden po drugim, nie ma zaznaczania wszystkich i usuwania w zaćmieniu teraz w konfiguracji uruchamiania. Więc komunikaty o błędach zmieniają się z jednego słoika na drugi.
Mam nadzieję, że to komuś pomoże.
źródło