LoginSignup
0
2

More than 5 years have passed since last update.

[Mac/Java/Eclipse/PostgreSQL]Javaアプリとデータベースを接続する

Posted at

この記事で書くこと

・MacにインストールしたEclipseでJavaアプリを作成の際に、Javaアプリとデータベースを接続する方法

この記事を書いた人の特徴

・RailsでWEBアプリを作成した経験あり
・Javaで1からWEBアプリを作成した経験はなし

Railsアプリ作成時には、例えば

RailsでのDB設定コマンド
rails model User name:String email:String
rails:db mingrate

を実行すると自動的に接続ができる。

それとは対照的に、Javaアプリではひとつひとつ自ら設定する必要がある。

今回、その設定を勉強するためにこの記事を書いた。

開発環境

備考
PC MacBook Air
OS MacOS Mojave Version: 10.14.4
言語 Java Version: 12.0.1
IDE Eclipse Eclipse IDE for Enterprise Java Developers. Version: 2019-03 (4.11.0)
WEBサーバー Apache Tomcat Version: 8
DB PostgreSQL Version: 11.2
DB管理ツール pgAdmin Version: 4.5
ブラウザ Chrome バージョン: 73.0.3683.103

※本当はAWSのRDSに置いたDBに接続したかったけど、上手くいかなかったため今回はローカルのDBに接続しました
※Eclipseの言語は英語です。

前提条件

データベース「sample」に、「User」テーブルを用意
「User」テーブル内に下記のデータが格納されている

SQL
SELECT * FROM USER;

pgAdmin上でのSQL実行結果
スクリーンショット 2019-04-20 21.22.17.png

ファイルの配置

動的WEBプロジェクト「sample」内に、データベースの接続処理を書く「Sampleapp6.java」を配置
スクリーンショット 2019-04-20 21.54.29.png

コード例

Sampleapp6.java
package jp.co.sample;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Sampleapp6 {

    public static void main(String[] args) throws Exception {

        String url = "jdbc:postgresql://localhost:5432/sample";
        String user = "sampleデータベースのユーザー";
        String password = "samleデータベースのパスワード";


        // データベースに接続
        try(Connection conn = DriverManager.getConnection(url,user,password)) {

            //SELECT文を準備
            String sql = "SELECT * FROM CUSTOMER";
            PreparedStatement pStmt = conn.prepareStatement(sql);

            ResultSet rs = pStmt.executeQuery();

            //結果を表示
            while (rs.next()) {
                String id = rs.getString("ID");
                String name = rs.getString("NAME");
                String email = rs.getString("EMAIL");

                System.out.println(id + " " + name + " " + email);
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }
    };

ポイント

JDBCドライバを適用する

JDBCドライバをダウンロードし、保存(今回はデスクトップに保存)
https://jdbc.postgresql.org/download.html
スクリーンショット 2019-04-20 22.10.02.png

「sample」プロジェクトを右クリック → 「Properties」を選択
スクリーンショット 2019-04-20 21.58.56.png

「Java Build Path」を選択 → 「Modulepath」にデスクトップに保存した外部ビルドパスを適用
スクリーンショット 2019-04-20 22.02.43.png

処理実行結果

下記画像はEclipseのコンソールです
データベースからデータを取得していることが確認できました。
D4mCbABUYAAPC_e.png

感想

Railsではデータベースの接続は、コマンド数行を実行すればいい。
Javaは全部自分で設定しなければならない。

DBの接続方法をネットで調査したが、どの情報が正しいかわからず独学では難しいと感じた。

今後すること

Javaアプリに、データの保存・編集・更新・削除処理を実装する方法

参考文献

国本大悟「スッキリわかるサーブレット&JSP入門 第2版」,株式会社インプレス,2019/03/21初版

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2