Das erste GOLD "JDBC"

JDBC Ich werde versuchen, über "JDBC", die Reichweite von Java SE8 GOLD, zusammenzufassen!

"JDBC" ist ein Mechanismus, mit dem Sie über Java auf verschiedene Datenbanken zugreifen können, die sogenannte Schnittstelle.

Der "Polymorphismus", den ich in Silber gelernt habe, wird auch auf die Datenbank angewendet.

Mit anderen Worten, was Sie damit machen können, ist Oracle, MySQL, PostgreSQL ... Ich kann mir nichts anderes vorstellen (Unwissenheit). Durch die Vorbereitung von JDBC können Sie mit einer Zeile __ eine Verbindung zu diesen Datenbanken herstellen.

Wie benutzt man

Hier ist was Sie zuerst brauchen. __ · JDBC-Treiber __ das ist alles. Dann machen wir es hier mit Eclipse, MySQL.

JDBC-Treiber

Sie finden es, indem Sie nach "jdbc driver [Datenbankname, den Sie verwenden möchten]" suchen. Laden Sie die Datei entsprechend der von Ihnen verwendeten Datenbank herunter.

Wenn Sie die heruntergeladene Datei öffnen, finden Sie die JAR-Datei. (Für MySQL ist es "MySQL-Konnektor-Java-〇〇.jar".) Dies ist der Hauptteil des JDBC-Treibers.

Wenn Java an Ort und Stelle belassen wird, weiß es nicht, wo dies ist. In verschiedenen Nachrichten beschwert er sich: "Wo ist das?" Einstellungen sind auch erforderlich, um in Eclipse ausgeführt zu werden.

Klicken Sie mit der rechten Maustaste auf das Projekt → [Eigenschaften] → [Java-Erstellungspfad] → Registerkarte [Bibliothek] → [Externe JAR hinzufügen]

Geben Sie in diesem Verfahren die zuvor heruntergeladene JAR-Datei an.

No Suitable Driver found for ... Möglicherweise wird ein solcher Fehler angezeigt. Dies ist der Zustand oben: "Wo ist das?"

Es ist ein bisschen abseits des Themas, aber die obigen Einstellungen reichen nicht aus, wenn sie in einem Servlet ausgeführt werden. Es ist notwendig, auf den Speicherort der JAR-Datei zu achten, anstatt nicht genug. [WEB-INF / lib] Stellen Sie die JAR-Datei direkt darunter bereit.

Wie schreibt man

Erstellen Sie Projekte, Pakete und Klassen in Eclipse und schreiben Sie sie.

String jdbc = "jdbc:mysql://localhost/test_db?serverTimezone=JST";
 // jdbc: (Datenbankname): // localhost / (Schemaname)? (Zeitzoneninformationen)

Zuallererst ist es das. Dadurch wird der Speicherort von jdbc identifiziert, wenn die später beschriebene Verbindungsklasse verwendet wird.

try(Connection con = DriverManager.getConnection(jdbc,"root","pass");
    Statement statement = con.createStatement();
    ResultSet resultSet = statement.executeQuery(sql)){

Es befindet sich in der Mitte der Try-with-Resouece-Anweisung. Da jdbc related SQLException auslöst, ist es in try eingeschlossen.

Sie stellen eine Verbindung über das Verbindungsobjekt her. Das Argument von getConnection () lautet

    1. JDBC-Treiberinformationen
  1. Datenbankbenutzername
    1. Passwort (beim Erstellen der Datenbank festgelegt) Es ist geworden.

Verwenden Sie diese Verbindung, um das Anweisungsobjekt für den Empfang von SQL-Anweisungen vorzubereiten.

Die SQL-Anweisung wird schließlich in der dritten Zeile ausgeführt. ResultSet ist buchstäblich eine "Ergebnismenge". executeQuery () kann das Ergebnis einer SELECT-Anweisung empfangen. Es wird auf einmal eingehen, also nehmen wir es später heraus.

Und die offene Verbindung muss geschlossen sein. Normalerweise wird es in jeder Klasse mit close () geschlossen, aber es gibt kein Problem, wenn es mit der try-with-resouce-Anweisung freigegeben wird.

while(resultSet.next()){
    System.out.println(resultSet.getString(2));
}

Abhängig davon, welche SQL-Anweisung Sie ausgelöst haben, ist dies ein Beispiel für eine Anweisung, die sich mit einer Ergebnismenge befasst.

Erstens ist next () in der ersten Zeile eine Methode der ResultSet-Klasse. Dadurch gelangen Sie zur "nächsten Zeile" der erhaltenen Ergebnismenge. Wenn es das erste Mal ist, wird die "erste Zeile" angezeigt. Ab dem zweiten Mal wird es Zeile für Zeile fortgesetzt. Es ist bequem. Es funktioniert ähnlich wie Iterators hasNext (). Hier wird es verarbeitet, solange es eine Linie gibt.

Übrigens habe ich beschlossen, das SQL SELECT * FROM human hier zu werfen. Angenommen, die "menschliche Tabelle" hat mehrere Spalten, aber die ___ Sekunde ___ hat eine Spalte namens "Name". Diese Spalte enthält Zeichenfolgendaten, sodass Sie sie als String empfangen können. Daher ist es hier ___ getString (2) ___. Wenn der Datentyp und die Methode, die Sie erhalten, nicht übereinstimmen, können Sie natürlich keine Daten empfangen. Die Methoden werden für jeden Datentyp vorbereitet. Verwenden Sie sie daher ordnungsgemäß. Sie können es auch auf Java sortieren, nachdem Sie es mit getObject () erhalten haben. Es ist auch eine Ganzzahl des Arguments von getXX (), das als Ergänzung der "Index der Spalte der Ergebnismenge" ist. Da ich die Spalte dieses Mal nicht angegeben habe, habe ich mich für getString (2) entschieden, da es sich um die zweite Spalte handelt. Wenn SQL jedoch "SELECT name FROM human" lautet, ist diese Nummer "1", da nur ein Name vorhanden ist. (Zählen Sie nicht ab 0. 1 startet. Seien Sie vorsichtig.)

Recommended Posts

Das erste GOLD "JDBC"
Die erste GOLD "Funktion"
Erster Kaggle (Kaggle ①)
Kaguru zum ersten Mal
Großschreiben Sie nur den ersten Buchstaben
Erster Python 3 ~ Der Beginn der Wiederholung ~
Holen Sie sich das erste Element von Queryset
Siehe Python zum ersten Mal
Starten Sie Django zum ersten Mal
Der erste Schritt von Python Matplotlib
Qiitas erster Beitrag (der Grund für den Start)
Ich habe zum ersten Mal Tensorflow ausprobiert
Spielen Sie kontinuierlich die MV der ersten Python Skusta
Stellen Sie fest, ob die Goldmünze echt ist
MongoDB mit Python zum ersten Mal
Versuchen wir zum ersten Mal Linux