☕️

【DAY34】- DB接続

に公開

Day34 - JavaでのDB接続

本日は Java の DB 接続についてJava におけるデータベースとの接続には JDBC(Java Database Connectivity)を使用します。以下では、ポイントを5つのトピックに分けて整理します。


1. JDBCとは?

JDBC は Java 標準のデータベース接続用 API です。これを利用することで、Java プログラムから SQL を使ってリレーショナルデータベースにアクセスできます。

JDBC の主な役割は以下のとおりです:

  • データベースへの接続
  • SQL の送信(SELECT, INSERT など)
  • 結果の取得と処理
  • 接続の終了(リソース開放)

2. Java DB接続に必要な基本構成

Java で DB に接続するには、以下のコンポーネントが必要になります:

クラス名 役割
DriverManager DB接続の初期化・管理
Connection DBとのコネクション
PreparedStatement パラメータ付き SQL の送信
ResultSet SQLの実行結果を受け取る
SQLException エラー時の例外処理用

それぞれのクラスは明確な責任を持ち、組み合わせて DB 操作を実現します。


3. DB接続コードの基本形

以下は、JDBC を用いた MySQL への接続と、users テーブルの情報を取得する基本コードです:

String url = "jdbc:mysql://localhost:3306/testdb";
String user = "user";
String password = "password";

try (Connection conn = DriverManager.getConnection(url, user, password);
     PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users");
     ResultSet rs = stmt.executeQuery()) {

    while (rs.next()) {
        System.out.println(rs.getString("name"));
    }

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

ポイントは try-with-resources を使ってリソースを自動解放している点です。


4. よくあるエラーと対処法

実行時に遭遇しやすいエラーとその原因は以下の通りです:

  • ClassNotFoundException:JDBC ドライバが読み込めていない
  • SQLException:URL・認証情報ミス、SQL文の構文エラーなど
  • CommunicationsException:DB サーバーに接続できない

それぞれスタックトレースを読み解く力が求められ、慣れてくると原因の特定が早くなります。


5. 明日以降の課題と展望

今後の課題としては、以下のようなトピックを学習予定です:

  • トランザクション管理(commit / rollback)
  • バッチ処理(複数 SQL をまとめて処理)
  • SQLインジェクション対策の再確認
  • DB 設計と正規化の基礎

Java における DB 操作は最初こそ冗長に感じるが、安全性・柔軟性を確保するために重要なステップ。今後は Spring Framework などの ORM ツールとの比較も行っていきたい。


💬 感想:
JDBC は覚えることが多いが、構造を理解すればパターン化できる。エラー処理や接続管理の考え方は他言語でも役立つスキル


GitHubで編集を提案

Discussion