カテゴリ: JavaのJDBC 更新日: 2026/03/31

Java JDBCでMySQLに接続する方法を完全解説!初心者向け環境構築ガイド

2096
JDBC を使って MySQL に接続する方法(環境構築)

先生と生徒の会話形式で理解しよう

生徒

「JavaからMySQLデータベースに接続するにはどうすればいいですか?」

先生

「JavaではJDBCという仕組みを使って、MySQLなどのデータベースに接続します。まずは環境構築から始めましょう。」

生徒

「JDBCって何ですか?初心者でも設定できますか?」

先生

「JDBCはJava Database Connectivityの略で、Javaからデータベースへ接続するための標準APIです。手順通りに進めれば初心者でも大丈夫です。」

生徒

「MySQLとの接続方法を順番に教えてください。」

先生

「では、JavaとMySQLを使ったJDBC接続の環境構築を詳しく解説していきます。」

1. JDBCとは何かを理解しよう

1. JDBCとは何かを理解しよう
1. JDBCとは何かを理解しよう

JDBCとは、Javaからデータベースに接続するための標準的な仕組みです。JavaアプリケーションとMySQLなどのデータベースを橋渡しする役割を持っています。Javaでデータベース接続を行う場合、JDBCドライバを利用して通信を行います。

JDBCを使うことで、SQL文の実行、データの取得、更新、削除などが可能になります。業務システム開発やWebアプリケーション開発では必須の知識です。特にMySQLは利用者が多く、Javaと組み合わせた開発は非常に一般的です。

2. MySQLのインストールと確認

2. MySQLのインストールと確認
2. MySQLのインストールと確認

まずはMySQLサーバーをインストールします。Linux環境での基本的なインストール確認コマンドを紹介します。


mysql --version
mysql  Ver 8.0.36 for Linux on x86_64 (MySQL Community Server)

上記のようにバージョン情報が表示されればMySQLは正常にインストールされています。インストールされていない場合は、パッケージ管理ツールでインストールしてください。


sudo systemctl status mysqld
mysqld.service - MySQL Server
   Active: active (running)

サービスがactiveになっていれば、MySQLサーバーは起動しています。

3. JDBCドライバの準備

3. JDBCドライバの準備
3. JDBCドライバの準備

JavaでMySQLに接続するには、MySQL Connector/JというJDBCドライバが必要です。公式サイトからjarファイルをダウンロードし、プロジェクトのclasspathに追加します。

Mavenを使用している場合は、pom.xmlに依存関係を追加するだけで簡単に設定できます。


<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.33</version>
</dependency>

これでJavaプロジェクトからMySQLへ接続する準備が整います。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. JavaでMySQLに接続する基本コード

4. JavaでMySQLに接続する基本コード
4. JavaでMySQLに接続する基本コード

ここでは、JDBCを使ってMySQLに接続する基本的なサンプルコードを紹介します。接続文字列、ユーザー名、パスワードを指定します。


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

public class JdbcConnectionSample {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/testdb";
        String user = "root";
        String password = "password";

        try (Connection conn = DriverManager.getConnection(url, user, password)) {
            System.out.println("MySQL接続成功");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

jdbc:mysqlはMySQL用の接続URLです。localhostは接続先ホスト、3306はデフォルトポート番号です。

5. データ取得のサンプルプログラム

5. データ取得のサンプルプログラム
5. データ取得のサンプルプログラム

接続だけでなく、実際にSQLを実行してデータを取得してみましょう。


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class SelectSample {
    public static void main(String[] args) throws Exception {
        String url = "jdbc:mysql://localhost:3306/testdb";
        String user = "root";
        String password = "password";

        Connection conn = DriverManager.getConnection(url, user, password);
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("SELECT name FROM users");

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

        rs.close();
        stmt.close();
        conn.close();
    }
}

ResultSetを使って取得したデータを1件ずつ処理します。JavaとMySQLの連携が実感できる部分です。

6. データ登録のサンプルプログラム

6. データ登録のサンプルプログラム
6. データ登録のサンプルプログラム

次にINSERT文を使ってデータを登録する例です。


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

public class InsertSample {
    public static void main(String[] args) throws Exception {
        String url = "jdbc:mysql://localhost:3306/testdb";
        String user = "root";
        String password = "password";

        Connection conn = DriverManager.getConnection(url, user, password);
        String sql = "INSERT INTO users(name) VALUES(?)";
        PreparedStatement ps = conn.prepareStatement(sql);
        ps.setString(1, "Taro");

        int result = ps.executeUpdate();
        System.out.println(result + "件登録");

        ps.close();
        conn.close();
    }
}

PreparedStatementを使用することで、安全にSQLを実行できます。SQLインジェクション対策としても重要です。

7. 接続エラーが発生する原因と対処法

7. 接続エラーが発生する原因と対処法
7. 接続エラーが発生する原因と対処法

JDBCでMySQL接続が失敗する主な原因は、URLの間違い、ユーザー名やパスワードの誤り、ポート番号の違い、ドライバ未設定などです。

エラーメッセージをよく確認し、通信できるか、MySQLサービスが起動しているかを確認してください。特に初心者はclasspathへのjar追加忘れが多いので注意が必要です。

Javaでデータベース接続を行うJDBCの基本を理解すれば、Webアプリケーション開発や業務システム開発の第一歩になります。MySQLとの接続方法を正しく理解し、実際に手を動かして環境構築を行うことが上達への近道です。

まとめ

まとめ
まとめ

今回はJava JDBCでMySQLに接続する方法について、環境構築から基本的な接続コード、SELECT文によるデータ取得、INSERT文によるデータ登録、そして接続エラーの対処法までを順番に解説しました。JavaからMySQLデータベースへ接続するためにはJDBCという標準APIを利用し、MySQL ConnectorのJDBCドライバを正しく設定することが重要です。特に初心者の方は、JDBCとは何か、接続URLの書き方、ポート番号、ユーザー名やパスワードの設定、そしてDriverManagerを使ったConnection取得の流れをしっかり理解することが大切です。

JavaとMySQLを連携させることで、Webアプリケーション開発や業務システム開発に必要なデータベース操作が可能になります。JDBC接続では、Connection、Statement、PreparedStatement、ResultSetといったクラスが中心的な役割を担います。特にPreparedStatementはSQLインジェクション対策として非常に重要であり、安全なデータベースアクセスを実現するために欠かせません。Javaでのデータベース接続方法を正しく理解することは、サーバーサイド開発やバックエンドエンジニアを目指す上で必須の知識です。

MySQLサーバーが正しく起動しているかをLinuxコマンドで確認することも重要です。mysqldサービスの状態確認やバージョン確認を行うことで、接続トラブルを未然に防ぐことができます。Java JDBC接続が失敗する原因の多くは、接続URLの誤り、データベース名の間違い、ポート番号の不一致、またはJDBCドライバの未設定です。エラーメッセージを丁寧に読み解く力も、Javaデータベース開発では大切なスキルになります。

Java JDBC接続の総復習サンプル

ここで、Java JDBCとMySQL接続の流れをまとめた総復習サンプルコードを確認しましょう。接続からデータ取得までの基本形をもう一度整理します。


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JdbcSummarySample {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/testdb";
        String user = "root";
        String password = "password";

        try (Connection conn = DriverManager.getConnection(url, user, password);
             Statement stmt = conn.createStatement();
             ResultSet rs = stmt.executeQuery("SELECT name FROM users")) {

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

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

上記のように、DriverManagerでConnectionを取得し、StatementでSQLを実行し、ResultSetでデータを取得するという流れがJava JDBCの基本構造です。この流れを理解しておけば、UPDATE文やDELETE文などさまざまなSQLにも応用できます。JavaでMySQLに接続する方法を体系的に理解することで、データベース操作の基礎力が確実に身につきます。

先生と生徒の振り返り会話

生徒

今回の学習で、JavaからMySQLに接続するにはJDBCを使うということがよく分かりました。ConnectionやStatement、ResultSetの役割も整理できました。特にPreparedStatementが安全なSQL実行に重要だという点が印象に残っています。

先生

とても大切なポイントに気付きましたね。Java JDBCはデータベース連携の基礎です。MySQLとの接続方法、接続URLの書き方、ポート番号、ユーザー認証の仕組みを理解することで、実務でも通用する知識になります。

生徒

LinuxコマンドでMySQLサービスの状態を確認することも重要だと分かりました。接続エラーが出たときは、いきなりコードを疑うのではなく、サーバーの起動状況や設定を確認することが大切なのですね。

先生

その通りです。Javaプログラムだけでなく、MySQLサーバーや環境構築全体を理解することが、安定したデータベース接続につながります。Java JDBCでMySQLに接続する方法を自分の言葉で説明できるようになれば、基礎はしっかり身についています。

生徒

これからはSELECT文だけでなく、INSERT文やUPDATE文も使いこなして、JavaとMySQLを使ったデータベースアプリケーションを作ってみたいです。

先生

ぜひ挑戦してください。Java JDBCとMySQL接続の基本を理解した今、データベース操作の応用に進む準備は整っています。繰り返しコードを書きながら、確実にスキルを高めていきましょう。

JavaのJDBCの一覧へ
新着記事
Flutter
Flutterの画像・アイコン管理に便利なツール(flutter\_launcher\_iconsなど)
Flutterの画像・アイコン管理を完全解説!flutter_launcher_iconsで初心者でも簡単設定
Flutter
FlutterのGraphQLライブラリ(graphql\_flutter)の使い方
FlutterのGraphQLライブラリgraphql_flutterの使い方を徹底解説 初心者向けAPI通信入門
Flutter
FlutterのテストをCI/CDで自動化する方法(GitHub Actions活用)
FlutterのテストをCI/CDで自動化する方法を完全解説 GitHub Actionsで始める継続的インテグレーション入門
Flutter
Flutterのテスト駆動開発(TDD)とは?やり方とコツ
Flutterのテスト駆動開発TDDとは何かを徹底解説 初心者向けやり方とコツまとめ
人気記事
AWS
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
AWS
EC2でのバックアップ方法まとめ!スナップショット・AMI・自動化まで対応
EC2でのバックアップ方法まとめ!スナップショット・AMI・自動化まで対応
AWS
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク