Verbinden von Java-Anwendung und PostgreSQL mit JDBC ohne Verwendung von Eclipse (wird an der Eingabeaufforderung ausgeführt)

Einführung

Als Programmierlehrer unterrichte ich Anfänger darin, die Grundlagen von Programmiersprachen zu verstehen, ohne es zu wagen, eine integrierte Entwicklungsumgebung zu verwenden. Daher musste eine Umgebung für die Ausführung von Java-Anwendungen ohne Verwendung von Eclipse vorbereitet werden.

Was Sie tun können, indem Sie diesen Artikel lesen

Sie können Java-Anwendungen mithilfe der PostgreSQL-API an der Eingabeaufforderung ausführen.

Ausführungsumgebung

Die Ausführungsumgebung verwendet Folgendes.

Fügen Sie eine JDBC-JAR-Datei für PostgreSQL hinzu

Starten Sie "Stack Builder", eine angehängte Anwendung, wenn Sie PostgreSQL installieren.

スタックビルダ 4.2.0の起動画面

Wählen Sie "pgJDBC vXX.X.XX" aus den Anwendungen aus, die Sie installieren möchten. Da dies ein Installationsprogramm ist, kann sich das Sicherungsverzeichnis an einer beliebigen Stelle befinden. (Wenn Sie sich verlaufen haben, speichern Sie es im Download-Ordner.)

スタックビルダ 4.2.0のインストールしたいアプリケーションの選択画面

Öffnen Sie die oben heruntergeladene Datei "edb_pgjdbc.exe" und fügen Sie die JAR-Datei hinzu. Bitte installieren Sie mit dem Standard-Speicherziel ("C: \ Programme (x86) \ PostgreSQL \ pgJDBC").

Stellen Sie mit JDBC eine Verbindung zu PostgreSQL her

Wenn ich in letzter Zeit Java programmiere, habe ich mehr Möglichkeiten, mit einer integrierten Entwicklungsumgebung (Eclipse usw.) zu entwickeln, und ich implementiere sie selten mit einem einfachen Editor wie Sakura Editor. (Ich habe es benutzt, als ich an der Universität studiert habe ...) Ich sehe oft, wie man JDBC in Eclipse verwendet, aber ich werde es überprüfen.

Bei Verwendung von JDBC mit Eclipse nach dem Erstellen eines neuen Java-Projekts Klicken Sie mit der rechten Maustaste auf das Projekt und führen Sie die folgenden Schritte aus, um die JDBC-JAR-Datei hinzuzufügen.

eclipse新規Javaプロジェクト作成画面

(Englisch) Wählen Sie "Pfad erstellen" -> "Externe Archive hinzufügen ..." -> "postgresql-XX.X.XX.jar" (Japanisch) "Pfad erstellen" -> "Externes Archiv hinzufügen"

ビルドパスの追加後

Nach dem Hinzufügen wird es im Paket-Explorer angezeigt.

eclipseでビルドパスの追加方法

Quellcode, den Sie ausführen möchten

Wir haben bereits Tabellen (Menüs) in der Datenbank (restaurantdb) erstellt.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class P5_1 {
   public static void main(String[] args) {

       String url = "jdbc:postgresql://127.0.0.1:5432/restaurantdb";
       String user = "postgres";
       String password = "postgres";
       String sql = "SELECT * FROM menuitems";

       try (Connection connection = DriverManager.getConnection(url, user, password);
           Statement statement = connection.createStatement();
           ResultSet resultSet = statement.executeQuery(sql)) {

           while(resultSet.next()) {
               String id = resultSet.getString(1);
               String name = resultSet.getString(2);
               int price = resultSet.getInt(3);
               String kindId = resultSet.getString(4);
               Boolean isDisabled = resultSet.getBoolean(5);

               System.out.println(id + " " + name + " " + price + " " + kindId + " " + isDisabled);
           }
       } catch (SQLException e) {
           e.printStackTrace();
       }
   }
}

Das Hauptthema: Ich möchte das Problem lösen, dass ein Fehler auftritt, wenn versucht wird, von einem Java-Programm aus eine Verbindung zu einer Datenbank herzustellen, ohne Eclipse zu verwenden.

C:\java-programming\JDBCSample>javac P5_1.java

C:\java-programming\JDBCSample>java P5_1
java.sql.SQLException: No suitable driver found for jdbc:postgresql://127.0.0.1:5432/restaurantdb
       at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
       at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
       at P5_1.main(P5_1.java:15)

Es scheint zwei Möglichkeiten zu geben, den obigen Fehler zu unterdrücken.

Fügen Sie der Umgebungsvariablen "CLASSPATH" hinzu

Die erste Option besteht darin, den Umgebungsvariablen "CLASSPATH" hinzuzufügen. Fügen Sie Folgendes zu "Systemsteuerung" -> "System" -> "Erweiterte Systemeinstellungen" -> "Umgebungsvariablen" -> "Umgebungsvariablen des Benutzers" hinzu. Variablenname "CLASSPATH" Wert "C: \ Programme (x86) \ PostgreSQL \ pgJDBC \ postgresql-42.2.12.jar;"

Gewähren Sie zur Laufzeit die Ausführungsoption "-cp"

Wenn Sie die Umgebungsvariablen aus irgendeinem Grund nicht ändern können, können Sie zur Laufzeit Optionen hinzufügen.

Geben Sie beispielsweise den folgenden Befehl ein, um "P5_1.java" zu kompilieren und auszuführen.

> javac P5_1.java

> java -cp "C:\Program Files (x86)\PostgreSQL\pgJDBC\postgresql-42.2.12.jar;." P5_1

(Das Ausführungsergebnis wird angezeigt)

Zusammenfassung

Dieses Mal habe ich die JDBC-API von einem Java-Programm aus aufgerufen, ohne Eclipse zu verwenden. Sie können es nicht sehr oft verwenden, aber es kann eine gute Idee sein, es zu versuchen, um zu verstehen, wie es funktioniert.

Vielen Dank.

Referenz

Recommended Posts

Verbinden von Java-Anwendung und PostgreSQL mit JDBC ohne Verwendung von Eclipse (wird an der Eingabeaufforderung ausgeführt)
[Mac / Java / Eclipse / PostgreSQL] Verbinden Sie die Java-Anwendung und die Datenbank
Ausführen des Postgresql-Kopierbefehls mit Spalteninformationen in Java
Kompilieren Sie Java an der Eingabeaufforderung
Zusammenarbeit zwischen Java und Derby mit JDBC (mit NetBeans)
[Tutorial] Eclipse herunterladen → Anwendung mit Java ausführen (Plejaden)
[Java 11] Ich habe versucht, Java auszuführen, ohne mit Javac zu kompilieren
[Tutorial] Eclipse herunterladen → Webanwendung mit Java ausführen (Plejaden)
[Java] Entwicklung mit mehreren Dateien mittels Paket und Import
Wenn eine mit dem Atom-Editor erstellte Java-Datei bei der Ausführung an der Eingabeaufforderung verstümmelt wird