この記事で書くこと
・MacにインストールしたEclipseでJavaアプリを作成の際に、Javaアプリとデータベースを接続する方法
この記事を書いた人の特徴
・RailsでWEBアプリを作成した経験あり
・Javaで1からWEBアプリを作成した経験はなし
Railsアプリ作成時には、例えば
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」テーブル内に下記のデータが格納されている
SELECT * FROM USER;
ファイルの配置
動的WEBプロジェクト「sample」内に、データベースの接続処理を書く「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
「sample」プロジェクトを右クリック → 「Properties」を選択
「Java Build Path」を選択 → 「Modulepath」にデスクトップに保存した外部ビルドパスを適用
処理実行結果
下記画像はEclipseのコンソールです
データベースからデータを取得していることが確認できました。
感想
Railsではデータベースの接続は、コマンド数行を実行すればいい。
Javaは全部自分で設定しなければならない。
DBの接続方法をネットで調査したが、どの情報が正しいかわからず独学では難しいと感じた。
今後すること
Javaアプリに、データの保存・編集・更新・削除処理を実装する方法
参考文献
国本大悟「スッキリわかるサーブレット&JSP入門 第2版」,株式会社インプレス,2019/03/21初版