[Java][MySQL] JavaからMySQLを使う方法

公開日: : 最終更新日:2013/11/29 Java , ,

MySQLは、フリーでありながら商用としても使用できるパワーを持つデータベース(RDB)です。

一般的なアクセス数のサイトであれば、バックエンドのデータベースはこれ一本あれば十分でしょう。

ただし、大企業ポータルサイトレベルのアクセス数がある場合は、Redis等のKVSをキャッシュにしてその裏にRDBを置く等の工夫をしましょう。

それでは、まずはMySQLのインストールから。

インストールはをこちらの記事をご参照ください。
テスト用のテーブル作成はこちらの記事をご参照ください。

JavaからMySQLに接続するためのJDBCドライバを取得します。
●当サイトのこちらの記事を参照してMySQLをインストールした場合
「[インストール先]\MySQL\Connector J x.x.x\」にJDBCドライバのjarがあります。

●それ以外の場合
以下サイトにアクセスしてください。
「http://dev.mysql.com/downloads/connector/j/」

赤丸の「DOWNLOAD」ボタンをクリックします。
MySQL_JDBCドライバ取得01

次に、赤丸の「No thanks, just start my download.」をクリックします。
そうすると、インストーラがダウンロードできるはずです。
それをダブルクリックするとなぜかインストールされています。
MySQL_JDBCドライバ取得02

「C:\Program Files (x86)\MySQL\MySQL Connector J」
ここにインストールされているはずです。

次に、JDBCドライバのjarにクラスパスを通します。
Eclipseでは以下のようにします。(コマンドラインでは「javac -classpath ~~~~」でやります。)

まず、「プロジェクトのプロパティ>ビルドパス>ライブラリ」を開きます。
その後、「外部Jar追加」ボタンをクリックします。
JDBCドライバ_Eclipse設定01

Jarファイルを選択して「選択」ボタンをクリックします。
JDBCドライバ_Eclipse設定02

「OK」ボタンをクリックします。
JDBCドライバ_Eclipse設定03

ここまでで、準備が完了しました。

早速、Javaコードを書いてみます。
適当にJavaクラスを作成し、以下コードをコピペしてみてください。
その後、userとpasswordを正しく設定すると動くと思います。

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


public class TestMySQL {

    public static void main(String[] args) {
        Connection con = null;
        PreparedStatement ps = null;
        String driver = "com.mysql.jdbc.Driver";
        String dbname = "JavaTest";
        String url = "jdbc:mysql://localhost/" + dbname;
        String user = "xxx";
        String passwd = "yyy";

        String sql = "select * from JavaTestTable;";

        try {
            // JDBCドライバ読み込み
            Class.forName(driver);

            // コネクト
            con = DriverManager.getConnection(url, user, passwd);

            // SQL発行
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery (sql);

            // 結果照会
            while(rs.next()){
                int id = rs.getInt("id");
                String name = rs.getString("name");
                System.out.println("ID:" + id);
                System.out.println("名前:" + name);
            }

            // クローズ処理
            rs.close();
            stmt.close();
            con.close();

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

}

実行結果は以下のようになるはずです。

ID:1
名前:一郎
ID:2
名前:次郎

ただし、今回はサンプルなので省略しましたが、
納品コードを書く際は、ちゃんとfinallyの中でのクローズ処理も行いましょう!!!

以上。

スポンサードリンク

関連記事

no image

[Java][Framework] Spring BootのJPAでDB接続した際のEntityキャッシュのクリア方法

Spring BootのJPAでDBアクセスした際に、処理を一定量こなすと、Heapが足りなくな

記事を読む

no image

[Java][Eclipse] Mavenが利用可能な動的Webプロジェクトの作成

こんにちは、keiです。 今回は、Mavenが利用可能な動的Webプロジェクトの作成について解

記事を読む

no image

[Java] CSVファイルの読み込み方法

こんにちは、kei0310です。 CSVファイルをJavaに取り込む方法を解説します。

記事を読む

no image

[Java][基本] mainメソッドの書き方

こんにちはkeiです。 Javaの基本として、意外と知らないmain関数について解説します。

記事を読む

no image

[Java] テキストファイルの読み込み方法

こんにちは、今回はテキストファイルをJavaで読む方法を紹介します。 標準で提供されているクラ

記事を読む

no image

[Java][基本] ループ処理(for文)

Javaのループ処理の基本である、for文を解説します。 ●文法 for( [①初期化];

記事を読む

no image

[Java][Spring] DIする方式を細かく見てみる① @ScopeでのSingletonとPrototypeの指定

今回は@Scopeアノテーションを用いて、オブジェクトをDIする方式を選択してみます。 ●解説

記事を読む

no image

[Java] 文字列の分割(split)

こんにちは。 今回は、文字列の分割について解説します。 昔はStringTokenize

記事を読む

no image

[Java][Servlet] EclipseでのJavaServlet作成

こんにちは、今回はEclipseを使用してJavaServletを作成します。 Eclipse

記事を読む

no image

[Java] クラスとインスタンス

こんにちは。 クラスとインスタンスについて解説します。 インスタンスは「オブジェクト」とも言

記事を読む

スポンサードリンク

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサードリンク

no image
CentOSにdockerをインストールしてみた

前置き dockerをcentos7にインストールしてみました

no image
awkでのgsubを使った文字列置換(正規表現)

まえおき bashなどのシェルスクリプトで、lsした結果とかを

no image
bashで並列処理する方法(xargs)

並列処理とは 通常、意識せずにプログラムを書くと、大体の場合は

no image
AWS Redshiftの使用ストレージ容量をクエリで調べる方法

用途 AWS Redshfitのコンソールを見れば、使用中のス

no image
pythonでstorage transfer serviceを使ってみた。

準備 pythonのインストールとかする。 このあたり。

→もっと見る

  • 2025年5月
     1234
    567891011
    12131415161718
    19202122232425
    262728293031  
  • 2025年5月
     1234
    567891011
    12131415161718
    19202122232425
    262728293031  
PAGE TOP ↑