To jest tutorial jak połączyć java z mySQL,
tutorial stworzyłem ponieważ naszukałem się w sieci i w zasadzie wiele tutoriali zawierało ten sam przykład i ten sam błąd ( nie do konca omówione)
Tworze Program w JavaFX kliencki, który połączy się z mySQL (docelowo wyświetli dane z mySQL w tableView).
-
INSTALACJA
1.1 uwaga ze sterownik JAVA<=>Mysql, czyli JDBC ( J connector) jest dołączony do JDK
1.2 mimo że jest dołączony to i tak go sciągnać trzeba ze strony https://www.mysql.com/products/connector/ -
Java Projekt MySQL
2.1 Po stworzeniu projektu trzeba dodac plik *.jar (JDBC) do projektu, robimy to
+ "1. kilkinij PPM w navigatorze na ikone projektu\n"
+ "2. (LPM menu) properties-> (LPM tab) Libraies -> (LPM Button) Add External JARs...\n"
+ "3. wskaż plik mysql-connector-java-5-bin.jar ");
w przeciwnym wypadku w konsoli mamy czerwony bład "com.mysql.jdbc.Driver"
2.2 kod w skrocie
2.2.1. metoda getConnection() łaczy sie z bd postawiona na xampp z baza test logujac sie jako user ser z pass ser
2.2.2 metoda createStatement() tworzymy obiekt sql, ktory wywola nasze zapytanie SQL
2.2.3 metoda obiektu stmt.executeQuery() wykonujemy nasze zapytanie w ()
2.2.4 rezultaty trafiaja do zmiennej rs skad sa odczytywane w petli while
2.2.5 metoda getint odbiera int a metoda getstring napisy, wiec musimy znac z gory strukture tablicy mysql bo wywali error w konsoli.
Kod java zamieszczam poniżej kompletny działajacy kod
import java.sql.*;
public class BazaDanych {
public static void main(String args[]) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "ser", "ser");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from emp");
while (rs.next())
System.out.println(rs.getInt(1) + " " + rs.getString(2) + " " + rs.getString(3));
con.close();
} catch (Exception e) {
System.err.println(e);
}
}
}