Connexion de l'application Java et de PostgreSQL avec JDBC sans utiliser eclipse (exécuté à l'invite de commande)

introduction

En tant qu'instructeur de formation en programmation, j'apprends aux débutants à comprendre les bases des langages de programmation sans oser utiliser un environnement de développement intégré. Par conséquent, il était nécessaire de préparer un environnement pour exécuter des applications Java sans utiliser eclipse.

Ce que vous pouvez faire en lisant cet article

Vous pourrez exécuter des applications Java à l'aide de l'API PostgreSQL à l'invite de commande.

Environnement d'exécution

L'environnement d'exécution utilise les éléments suivants.

Ajouter un fichier jar JDBC pour PostgreSQL

Démarrez "Stack Builder" qui est une application attachée lors de l'installation de PostgreSQL.

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

Sélectionnez "pgJDBC vXX.X.XX" parmi les applications que vous souhaitez installer. Puisqu'il s'agit d'un programme d'installation, le répertoire de sauvegarde peut être n'importe où. (Si vous vous perdez, enregistrez-le dans le dossier de téléchargement.)

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

Ouvrez le "edb_pgjdbc.exe" téléchargé ci-dessus et ajoutez le fichier jar. Veuillez installer avec la destination de sauvegarde par défaut ("C: \ Program Files (x86) \ PostgreSQL \ pgJDBC").

Connectez-vous à PostgreSQL en utilisant JDBC

Récemment, lorsque je fais de la programmation Java, j'ai plus d'opportunités de développer en utilisant un environnement de développement intégré (éclipse, etc.), et je l'implémente rarement avec un éditeur simple tel que Sakura Editor. (Je l'utilisais quand j'étudiais à l'université ...) Je vois souvent comment utiliser JDBC dans eclipse, mais je vais le revoir.

Lors de l'utilisation de JDBC avec eclipse, après la création d'un nouveau projet Java Cliquez avec le bouton droit sur le projet et suivez les étapes ci-dessous pour ajouter le fichier JDBC.

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

(Anglais) Sélectionnez "Build Path" -> "Add External Archives ..." -> "postgresql-XX.X.XX.jar" (Japonais) "Chemin de construction" -> "Ajouter une archive externe"

ビルドパスの追加後

Une fois ajouté, il apparaîtra dans l'Explorateur de packages.

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

Code source que vous souhaitez exécuter

Nous avons déjà créé des tables (menuitems) dans la base de données (restaurantdb).

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();
       }
   }
}

Le sujet principal: je veux résoudre le problème qu'une erreur se produit lors de la tentative de connexion à une base de données à partir d'un programme Java sans utiliser eclipse.

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)

Il semble y avoir deux façons de supprimer l'erreur ci-dessus. -Ajouter "CLASSPATH" à la variable d'environnement -Donner l'option d'exécution "-cp" à l'exécution

Ajoutez "CLASSPATH" à la variable d'environnement

La première option consiste à ajouter "CLASSPATH" aux variables d'environnement. Ajoutez ce qui suit dans "Panneau de configuration" -> "Système" -> "Paramètres système avancés" -> "Variables d'environnement" -> "Variables d'environnement de l'utilisateur". Nom de variable "CLASSPATH" Valeur "C: \ Program Files (x86) \ PostgreSQL \ pgJDBC \ postgresql-42.2.12.jar;."

Accorder l’option d’exécution "-cp" à l’exécution

Si, pour une raison quelconque, vous ne pouvez pas modifier les variables d'environnement, vous pouvez ajouter des options au moment de l'exécution.

Par exemple, pour compiler et exécuter "P5_1.java", entrez la commande suivante.

> javac P5_1.java

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

(Le résultat de l'exécution s'affiche)

Résumé

Cette fois, j'ai appelé l'API JDBC à partir d'un programme Java sans utiliser eclipse. Vous ne l'utiliserez peut-être pas très souvent, mais il peut être judicieux d'essayer de comprendre son fonctionnement.

Merci beaucoup.

référence

Recommended Posts

Connexion de l'application Java et de PostgreSQL avec JDBC sans utiliser eclipse (exécuté à l'invite de commande)
[Mac / Java / Eclipse / PostgreSQL] Connectez l'application Java et la base de données
Comment exécuter la commande de copie Postgresql avec des informations de colonne sur Java
Compilez Java sur l'invite de commande
Coopération entre Java et Derby en utilisant JDBC (en utilisant NetBeans)
[Tutoriel] Télécharger Eclipse → Lancer l'application avec Java (Pléiades)
[Java 11] J'ai essayé d'exécuter Java sans compiler avec javac
[Tutoriel] Télécharger Eclipse → Lancer l'application Web avec Java (Pléiades)
[Java] Développement avec plusieurs fichiers en utilisant package et import
Lorsqu'un fichier Java créé avec l'éditeur Atom est déformé lorsqu'il est exécuté à l'invite de commande