JavaからMySQLに接続する方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaからMySQLに接続する方法について解説しています。JDBCドライバを取得する方法、JavaからMySQLに接続する手順、実際のデータ取得方法を見ていきましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

JavaからMySQLに接続する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まるでしょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプJava講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

JavaからMySQLに接続する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

MySQLとは

MySQLとは、世界で最も普及しているリレーショナルデータベースシステムです。

オープンソースで開発されており、無償で提供されています。企業でも使用されるほど信頼性が高く、利用しやすいデータベースだといえます。

 

[PR] Javaで挫折しない学習方法を動画で公開中

JDBCドライバを取得する方法

JavaでMySQLを使用するにはJDBCドライバが必要です。

JDBCドライバを準備する方法は下記の2つの方法があります。

  • 自分でJDBCドライバをインストールして設置する
  • Mavenを利用してJDBCドライバのダウンロードから設置までをやる

 

今回はMavenを使う方法について、みていきます。

まずは、プロジェクト名を右クリック -> 「構成」 -> 「Mavenプロジェクトへ変換」をクリックし、Mavenプロジェクトにしましょう。

次に、Mavenプロジェクトに変換することで作成されるpom.xmlを開きましょう。

「依存関係」のタブを開き、「依存関係」の追加をクリックし、新しく開かれたウインドウの入力項目に以下の内容を入力します。

・グループID : mysql
・アーティファクトID : mysql-connector-java
・バージョン : 5.1.48

 

入力後OKボタンをクリックし、保存しましょう。

そうすると新しく「Maven依存関係」がプロジェクト内に追加され、その中にJDBCドライバが追加されます。

 

MySQLに接続する方法

JavaからMySQLに接続するには以下の方法を使いましょう。

 

DriverManager.getConnection(url, user, password);

 

DBのURL、DBのユーザー名、パスワードを引数に指定します。

自分のパソコン内のDBに接続する場合はDBのURLは「jdbc:mysql://localhost/データベース名」となります。

 

MySQLに接続してデータを取得してみよう

実際に、MySQLに接続してデータを取得してみましょう。

今回はサンプルとしてtestデータベースのpersonテーブルからデータを取得します。

 

プログラムソースコード

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

public class DbSample {

  public static void main(String[] args) {
    Connection con = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;

    try {

      con = DriverManager.getConnection(
        "jdbc:mysql://localhost/test?useSSL=false",
        "root",
        "password"
      );// "password"の部分は,各自の環境に合わせて変更してください。

      pstmt = con.prepareStatement("select * from person");

      rs = pstmt.executeQuery();

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

    } catch (SQLException e) {
      e.printStackTrace();
    } finally {
      if (rs != null) {
        try {
          rs.close();
        } catch (SQLException e) {
          e.printStackTrace();
        }
      }
      if (pstmt != null) {
        try {
          pstmt.close();
        } catch (SQLException e) {
          e.printStackTrace();
        }
      }
      if (con != null) {
        try {
          con.close();
        } catch (SQLException e) {
          e.printStackTrace();
        }
      }
    }
  }
}

 

実行結果

太郎
29

 

執筆してくれたメンター

メンターSさん

システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。

JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。

TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。

 

大石ゆかり

JavaからMySQLに接続する方法がよく分かったので良かったです!

田島悠介

ゆかりちゃん、これからも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、参加してみてください。