[JAVA] Comment démarrer avec JDBC en utilisant PostgresSQL sur MacOS

introduction

J'ai eu la chance de toucher JDBC, mais je voulais le pratiquer dans mon environnement personnel, c'est donc la procédure lorsque j'ai introduit PostgreSQL. C'est essentiellement un mémorandum.

Différentes versions, etc.

- macOS : 10.15.4
- JDK : 13.0.1
- PostgreSQL : 12.2
- JDBC Driver : 42.4.12
 --Terminal: bash

Installez PostgreSQL en utilisant Homebrew

Installez PostgreSQL en vous référant à l'article ci-dessus. Dans ce qui suit, l'utilisateur et le mot de passe sont décrits comme «postgresql».

Télécharger le pilote JDBC PostgreSQL

Téléchargez le pilote JDBC à partir de la page ci-dessus.

Installation du pilote JDBC (fichier jar) et paramétrage de CLASSPATH

Si vous avez un MacOS et que la version JDK est 8 ou moins, installez une bibliothèque externe Java (fichier jar, etc.) dans / Library / Java / Extensions et le chargeur de classe recherchera le fichier de classe JDBC au moment de la compilation. Cependant, puisque nous utilisons JDK13 cette fois, nous devons définir le CLASSPATH.

1. Installation du pilote JDBC

Placez le fichier postgresql-42.2.12.jar téléchargé dans / Library / Java / Extensions.

2. Réglage CLASSPATH

Définissez la variable d'environnement CLASSPATH pour que le chargeur de classe réagisse au moment de la compilation. Démarrez le terminal et exécutez la commande suivante.

Réglage et rechargement de CLASSPATH


echo 'export CLASSPATH=.:/Library/Java/Extensions/postgresql-42.2.12.jar:$CLASSPATH' >> .bash_profile
source ~/.bash_profile

La première ligne écrit CLASSPATH dans .bash_profile La deuxième ligne recharge .bash_profile Nous faisons chacun.

Test de connexion à PostgreSQL avec JDBC

Enfin, nous montrerons la création d'une table de test, la connexion à la base de données et la récupération de données.

1. Créez une table de test

Création de SQL pour créer des tables de test

Créez le fichier suivant à n'importe quel emplacement. Dans ce qui suit, on suppose qu'il est créé dans ~ / Desktop.

createTestTable.sql


create table test(
    id serial primary key,
    name varchar(255),
    point real
);
insert into test(name,point) values
('foo', 41.2),
('bar',55.1),
('baz', 10.7),
('qux', 98.0),
('quux', 22.2),
('foobar', 35.6);

Démarrez PostgreSQL et créez une base de données

Démarrez le terminal et exécutez la commande suivante.

Démarrez PostgreSQL et créez une base de données


brew services start postgresql
createdb test
psql test

Créer une table de test

Lorsque la console PostgreSQL démarre, exécutez la commande suivante.

Créer une table de test


\i ~/Desktop/createTestTable.sql
\q

2. Connexion de JDBC à DB et acquisition de données

Création d'un fichier Java pour l'appel

Créez le fichier suivant à n'importe quel emplacement. Dans ce qui suit, on suppose qu'il est créé dans ~ / Desktop.

Main.java


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

public class Main {
    public static void main(String[] args) {
        String url = "jdbc:postgresql://localhost/test";
        String user = "postgresql";
        String password = "postgresql";
        String sql = "select * from test";

        try(Connection con = DriverManager.getConnection(url, user, password)){
            try(PreparedStatement ps = con.prepareStatement(sql)){
                ResultSet rs = ps.executeQuery();
                while (rs.next()){
                    System.out.print(rs.getString("name"));
                    System.out.print(" gets ");
                    System.out.println(rs.getInt("point"));
                }
            } catch(SQLException e){
                e.printStackTrace();
            }
        } catch(SQLException e){
            e.printStackTrace();
        }
    }
}

Compilation et exécution de fichiers Java

Compilation et exécution de fichiers Java


cd ~/Desktop
javac Main.java
java Main

Résultat de sortie

foo gets 41.2
bar gets 55.1
baz gets 10.7
qux gets 98.0
quux gets 22.2
foobar gets 35.6

en conclusion

J'espère que cela aidera ceux qui accèdent à la base de données en utilisant JDBC pour la première fois. Je vous serais reconnaissant si vous pouviez signaler des erreurs.

Les références

Recommended Posts

Comment démarrer avec JDBC en utilisant PostgresSQL sur MacOS
Comment démarrer avec Slim
[Note] Comment démarrer avec Rspec
Comment démarrer avec Eclipse Micro Profile
J'ai essayé de démarrer avec Swagger en utilisant Spring Boot
Comment installer Adopt OpenJDK sur Debian, Ubuntu avec apt (-get)
J'ai essayé de démarrer avec Web Assembly
Les débutants de Rails ont essayé de se lancer avec RSpec
Comment sortir un fichier de ressources avec spring-boot
Utiliser JDBC sous Linux
Commencez avec Gradle
Comment exécuter javafx avec Raspeye publié le 12/07/2020
Activer ou non SSL lors de l'utilisation de JDBC avec MySQL.
Comment faire un test unitaire avec JVM sur une source à l'aide de RxAndroid
À partir d'avril 2018 Comment installer Java 8 sur Mac
Présentation de «Introduction à la programmation pratique de la rouille» (jour 3)
Comment obtenir JDK etc. depuis Oracle avec CLI
[Docker] Comment mettre à jour à l'aide d'un conteneur dans Heroku et comment gérer l'erreur de migration
Comment définir des variables d'environnement lors de l'utilisation de Payjp avec Rails
Démarrez avec Spring Boot
Comment déployer avec heroku
Comment accéder à un conteneur s'exécutant sur AWS Fargate
Un développeur Java de première année chez udemy a essayé de se lancer avec PHP
Comment obtenir des valeurs en temps réel avec TextWatcher (Android)
Comment numéroter (nombre) avec html.erb
Comment mettre à jour avec activerecord-import
Comment créer une application à l'aide de Tensorflow avec Android Studio
Comment installer JDK 8 sur Windows sans utiliser le programme d'installation
Comment s'inscrire en tant que client dans Square à l'aide de Tomcat
Comment autoriser à l'aide de graphql-ruby
Comment utiliser PlantUML avec Visual Studio Code (créé le 30 octobre 2020)
Comment exécuter la commande de copie Postgresql avec des informations de colonne sur Java
Revue de code facile pour démarrer avec Jenkins / SonarQube: analyse statique
J'ai essayé de me connecter à MySQL en utilisant le modèle JDBC avec Spring MVC
Comment changer de version Java avec direnv dans le terminal sur Mac
Comment obtenir le contenu de la carte à l'aide du mémorandum d'instructions
Comment obtenir la valeur de boolean avec jQuery sous forme simple de rails
Comment écrire lors de l'installation d'Amazon Corretto 8 sur CentOS 8 avec Ansible.
(Spring-data-jpa) Comment obtenir POJO (autre que la classe d'entité) à l'aide de JPA2.1
Comment installer confortablement JDK 11 dans votre Mac
Commençons par la programmation parallèle
Comment utiliser HttpClient de Java (Get)
Comment déployer Laravel sur CentOS 7
Comment "évider" une vue sur Android
Remarques sur l'utilisation de Spring Data JDBC
Comment entourer n'importe quel caractère avec "~"
Comment utiliser Ruby on Rails
Comment déployer Bootstrap sur Rails
Pour exécuter JavaFX sur Docker
Comment obtenir des paramètres dans Spark
Comment utiliser les bio-formats sur Ubuntu 20.04