Windows 10にMySQL Workbenchをインストールする方法と初歩的な使い方の説明
はじめに
MySQL WorkbenchはMySQLサーバーと同じOracleが開発している無償で使えるMySQLサーバー専用のデータ管理ツールです。この記事ではWindows 10へMySQL Workbenchをインストールする方法、および初歩的な使い方を説明します。
MySQL Workbenchのダウンロード
ダウンロードページ( MySQL :: Download MySQL Workbench )からインストーラ(mysql-workbench-community-8.0.19-winx64.msi
)をダウンロードします(2020年3月現在の最新バージョンです)。
ダウンロード画面(Fig1)の赤い枠線で囲った"Select Operating System:"は"Microsoft Windows"を選択、ダウンロードするファイルは"Windows (x86, 64-bit), MSI Installer"を選びます。
次のダウンロード画面(Fig2)の赤い枠線で囲った”No thanks, just start my download.”というリンクをクリックするとダウンロードが始まります。
なお、MD5チェックサムの検証方法は、この記事で説明していますのでご覧ください。 rubytomato.hateblo.jp
以上でMySQL Workbenchのダウンロードは完了です。
MySQL Workbenchのインストール
ダウンロードしたインストーラ(mysql-workbench-community-8.0.19-winx64.msi
)をダブルクリックして実行します。
インストール自体はインストーラの画面の通り進めていけばOKです。
インストールが完了すると、そのままMySQL Workbenchが起動します。(Fig8)
コネクションの作成
まず、コネクションを作成する前にMySQLサーバーを起動しておきます。 次にMySQL Workbenchのトップ画面(Fig9)の赤い枠線で囲った+アイコンをクリックします。
Setup New Connection画面(Fig10)のConnection Name:に"localhost"と入力しました。この名前は分かりやすい名前であればなんでも良く、例えば"Local DB"でも良いです。 Test Connectionボタンをクリックします。
rootユーザーのパスワードを入力してOKボタンをクリックします。
認証できると成功画面(Fig12)が表示されます。
Setup New Connection画面に戻るのでOKボタンをクリックして入力内容を登録します。
MySQL Workbenchのトップ画面(Fig9)に戻りますが、トップ画面にいま登録したコネクションが追加されています。表示されている"Localhost"とはSetup New Connection画面(Fig10)で入力したConnection Nameで、"root"は接続ユーザー名です。
接続する
Fig13の登録したlocalhostコネクションをクリックするとrootユーザーのパスワード入力を求められるので入力します。 認証が成功するとFig14の画面が表示されます。 画面中央の"Query 1"というタブがSQL文を入力して実行する欄になります(タブは増やすことができます)。ここにテーブル作成やデータ挿入を行うSQL文を入力して実行します。その下の"Output"というビューにはこれまで実行したSQLの内容とその成否(成功したか失敗したか)が表示されます。 画面左側の"Navigator"は2つのタブに分かれていて、"Schemas"タブにはデータベース(MySQLではスキーマと同じ意味)の情報、"Administration"タブにはMySQLサーバーの情報が表示されます。
SQLを実行する
画面中央の"Query 1"タブでSQLを入力して実行してみます。実行するのは
- 1) データベース作成
- 2) ユーザー作成
- 3) ユーザーの権限設定
- 4) テーブル作成
- 5) データ登録
- 6) データ検索
- 7) データ更新
- 8) データ全件削除
です。
1) データベースを作成する
データベースの作成はCREATE DATABASE
文を使用します。IF NOT EXISTS
とはsample_dbというデータベースが無ければ実行するという意味になります。
CREATE DATABASE IF NOT EXISTS sample_db CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ;
このSQL文を実行するにはFig15の赤い線で囲ったアイコンをクリックするか、Ctrl + Enterを押下します。 左端の数値は行番号で、その隣の●アイコンはSQLステートメントの先頭に表示されます。
OutputビューにSQLの実行結果が表示されます。左端のアイコンが実行結果で、緑色のアイコンは成功、赤色のアイコンは失敗を示します。
(補足)上記でSQLステートメントの先頭に●アイコンが付くと書きましたが、正確には正しいSQLステートメント(構文エラーが無い)に●アイコンが付き、正しくないSQLステートメント(構文エラー / Syntax Error)の場合は赤い×アイコンが付きます。Fig15Bは、SQL文が正しくないので×アイコンが付いています。
2) ユーザーを作成する
ユーザーの作成はCREATE USER
文を使用します。
CREATE USER IF NOT EXISTS 'sample_user'@'localhost' IDENTIFIED BY 'sample_pass' PASSWORD EXPIRE NEVER ;
この画面(Fig17)では●アイコンが2つ表示されているので、2つのSQLステートメントが入力されていることがわかります。 このように1つのタブに複数のSQLステートメントが入力されている状態で、任意のSQLステートメントを実行するにはSQLステートメントかその行末にカーソルを置いた状態で SQLの実行アイコンをクリックするか、Ctrl + Enterを押下します。 この例では2つ目のSQLステートメント(つまりCREATE USER文)を実行したいので、行番号10にカーソルを置いて実行アイコンをクリックします。
このようにOutputビューにSQLの実行結果が表示されます。
3) ユーザーの権限を設定する
2)で作成したsample_user
へ、1)で作成したsample_db
に対して権限を与えます。権限の付与はGRANT
文を使用します。
GRANT ALL ON sample_db.* TO 'sample_user'@'localhost';
OutputビューにSQLの実行結果が表示されます。
4) テーブルを作成する
テーブルの作成はCREATE TABLE
文を使用します。テーブル名の前にsample_db
とデータベース名を付けている点に注意してください。
CREATE TABLE IF NOT EXISTS sample_db.todo ( id BIGINT AUTO_INCREMENT, title VARCHAR(255) NOT NULL, description VARCHAR(1024) NULL, done BOOLEAN NOT NULL DEFAULT FALSE, create_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), update_at TIMESTAMP(3) NULL, PRIMARY KEY (id) ) CHARACTER SET = utf8mb4, COLLATE utf8mb4_general_ci ;
OutputビューにSQLの実行結果が表示されます。
データベースの状態を確認
テーブルまで作成したので、この時点でのデータベースの状態を確認します。 Navigator画面(Fig23)の赤い枠線で囲ったアイコンをクリックするとデータベースの状態が更新されます。
更新後のNavigator画面(Fig24)です。このように作成したデータベース(sample_db
)と、テーブル(todo
)が確認できます。
さらにデータベース名(sample_db
)を右クリックし、メニューからSchema Inspectorを選択すると(Fig25)、データベースに関する情報を確認できる画面(Fig26)が表示されます。同様にテーブル名(todo
)を右クリックし、メニューからTable Inspectorを選択すると、テーブルに関する情報が確認できます。
タブ(Tables、Columns、Indexes、Triggersなど)で、それぞれの情報を確認できます。
新しいコネクションを登録する
rootユーザーは管理者権限を持つユーザーなので特定の場合でしか使用しません。以降の操作は新しく作成したユーザー(sample_user
)で行うように新しいコネクションを登録します。
いま開いているコネクションは、メニューバーのFile
→ Close Connection Tab
をクリックして閉じます。
Setup New Connection画面(Fig27)を開いたら、Connection Name:に任意の名前を(この例では"localhost (sample_user)"としました)、Username:にsample_user
、Default Schema:にsample_db
と入力します。
次にPassword:の"Store in Vault ..."というボタンをクリックして、sample_user
のパスワードを入力します(Fig28)。
最後にOKボタンをクリックすると画面(Fig29)に新しいコネクションが登録されていると思います。このコネクションをクリックするとsample_user
でsample_db
へ接続します。
5) データを登録する
新しいコネクションで接続したら、テーブル(todo
)へデータを登録してみます。
INSERT INTO todo (title) VALUES ('買い物に行く') , ('部屋の掃除') , ('犬の散歩') , ('ブログを書く') , ('JavaScriptの勉強') ;
auto_commit
デフォルトではauto_commitは有効になっているので、insert文やdelete文を実行するとその都度コミットされます。 auto_commitの設定はFig30の赤い枠線で囲ったアイコンで切り替えられます。これは有効な状態で
クリックするとauto_commitは無効になりFig31のようになります。また左隣りの2つのアイコン(commitとrollback)が有効になり、変更をコミットする場合は明示的にcommitアイコンをクリックする必要があります。
このINSERT文を実行して、commitアイコンをクリックするとOutputはFig32のようになります。
6) データを検索する
以下のSELECT文で登録したデータを検索してみます。
select * from todo;
Queryタブの下に検索結果が表形式で表示されます。また、赤い枠線で囲ったエクスポートアイコンをクリックすると検索したデータをCSV形式のファイルに出力できます。
7) データを更新する
表形式のデータを直接編集して更新することもできます。 たとえば3行目の"犬の散歩"を"犬の散歩へ行く"に編集してみます。すると右下の"Apply"、"Revert"ボタンがクリックできるようになります。編集をコミットするには"Apply"ボタンをクリックします。 Applyボタンをクリックします。 Applyボタンをクリックします。Cancelをクリックするとコミットを中断します。 Finishボタンをクリックして完了します。
(補足)データの更新はQueryタブから直接UPDATE文を実行することでも可能です。
8) データを全件削除する
以下のDELETE文でtodo
テーブルのデータを全件削除しようとすると、エラーが発生して削除できません。
delete from todo;
Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column.
デフォルトの設定では、安全性を考慮して全件を削除することはできないようになっています。この設定を変えるにはメニューバーのEdit
→ Preferences...
→ SQL Editor
→ Other
のSafe Update
のチェックを外し、再接続します。
SQLを実行する (その2)
SQLを実行する方法は2つあります。いままではカーソルのあるSQLステートメントだけを実行してきましたが、複数のSQLステートメントをまとめて実行する方法もあります。 たとえば、以下のような個別のINSERT文をまとめて実行するには、
INSERT INTO todo (title) VALUES ('買い物に行く'); INSERT INTO todo (title) VALUES ('部屋の掃除'); INSERT INTO todo (title) VALUES ('犬の散歩'); INSERT INTO todo (title) VALUES ('ブログを書く'); INSERT INTO todo (title) VALUES ('JavaScriptの勉強');
Fig40の赤い枠線で囲ったアイコンをクリックします。
また、Fig41のように選択状態にすると、選択されたSQLステートメントだけが実行されます。この例では上3行のINSERT文だけが実行されます。
Windows 10にMySQL 8.0をMSIインストーラを使わずにZipファイルからインストールする
はじめに
ローカルPCに開発用途のMySQL 8.0をインストールする方法を説明します。インストール方法には、MSIインストーラ(ファイルの拡張子がmsi)を使う方法と、zipファイルを使う方法があります。 ダウンロードページではMSIインストーラがお勧めされていますが、この記事ではzipファイルを使って手動でインストールする方法を説明したいと思います。
zipファイルでインストールするメリット
この記事ではWindows 10 64bit
に、2020年3月現在で最新バージョンのMySQL Community Server 8.0.19
をインストールします。
事前準備
Windows 10にMySQLをインストールするには、事前にMicrosoft Visual C++ 2015 Redistributable Package
というランタイムライブラリをインストールしておく必要があります。
Important
MySQL 8.0 Server requires the Microsoft Visual C++ 2015 Redistributable Package to run on Windows platforms. Users should make sure the package has been installed on the system before installing the server. The package is available at the Microsoft Download Center.
インストールされていない場合はMicrosoftサポートページ ( https://support.microsoft.com/ja-jp/help/2977003/the-latest-supported-visual-c-downloads ) からインストーラをダウンロードしてインストールします。
Windows 10が32ビット/64ビットかでダウンロードするファイルが異なります。64ビットの場合はFig1の赤い線を引いた"vc_redist.x64.exe"というリンクをクリックします。
ダウンロードした"vc_redist.x64.exe"をダブルクリックするとインストール画面が表示されるので”ライセンス条項および使用条件に同意する(A)”をチェックしてインストールボタンをクリックします。
インストールが終了するとPCを再起動するように求められるので再起動します。 以上でインストールは完了です。
MySQLのダウンロード
ダウンロードページ ( MySQL :: Download MySQL Community Server ) からzipファイル (mysql-8.0.19-winx64.zip) をダウンロードします。 Fig3の赤い枠線で囲った"Select Operating System:"は"Microsoft Windows"を選択、ダウンロードするファイルは"Windows (x86, 64-bit), ZIP Archive"を選びます。
Fig4のダウンロード画面の赤い枠線で囲った”No thanks, just start my download.”というリンクをクリックするとダウンロードが始まります。
zipファイルをダウンロードしたら、そのzipファイルが正しいか(破損していないか、改ざんされていないか)確認するため、MD5チェックサムで検証します。
Fig3のオレンジ色の線を引いたところにMD5: f52c52e7b499958acc5f08ce0a869cab
という記載がありますが、これがダウンロードするzipファイルのMD5チェックサムです。
実際にダウンロードしたzipファイルのMD5チェックサムを出力し、ダウンロードページに記載されているMD5チェックサムと同一であれば正しいファイルと判断できます。
MD5チェックサムの出力には、Windows 10標準コマンドのcertutil.exe
を使用します。
zipファイルのあるフォルダでコマンドプロンプトを開き、以下のコマンドを入力します。
certutil -hashfile mysql-8.0.19-winx64.zip MD5
コマンドを実行すると次の結果が出力されます。2行目がMD5チェックサムです。ダウンロードページに記載されてるMD5チェックサムと比較します。
MD5 ハッシュ (対象 mysql-8.0.19-winx64.zip): f52c52e7b499958acc5f08ce0a869cab CertUtil: -hashfile コマンドは正常に完了しました。
以上でMySQLのダウンロードは完了です。
MySQLのインストール
インストールと言ってもダウンロードしたzipファイルを7-Zipなどのツールで展開するだけです。 この記事では展開して出来たフォルダを以下のフォルダへコピーしました。以降はこのフォルダをインストールディレクトリと呼びます。
C:\dev\mysql-8.0.19-winx64
このフォルダをWindowsエクスプローラで表示してFig5のような状態であることを確認します。
初期設定
オプションファイルの作成
オプションファイルとはmy.cnf
やmy.ini
というファイル名で知られるMySQLの設定をまとめたテキストファイルです。
Windowsではmy.ini
というファイル名が一般的なので、このファイルをインストールディレクトリ直下に作成します。
C:\dev\mysql-8.0.19-winx64\my.ini
とりあえず、以下の内容をコピーしてmy.iniファイルへペーストします。もしMySQLのインストールディレクトリがC:\dev\mysql-8.0.19-winx64
でなければ、ファイルパスは適宜修正してください。
またファイルパスの区切り文字は\
ではなく2重\\
にします。
[mysqld] basedir = C:\\dev\\mysql-8.0.19-winx64 datadir = C:\\dev\\mysql-8.0.19-winx64\\data tmpdir = C:\\dev\\mysql-8.0.19-winx64\\temp ## logging general_log = 1 general_log_file = C:\\dev\\mysql-8.0.19-winx64\\logs\\general.log log_error = C:\\dev\\mysql-8.0.19-winx64\\logs\\error.log slow_query_log = 1 slow_query_log_file = C:\\dev\\mysql-8.0.19-winx64\\logs\\slow_query.log log_timestamps = SYSTEM
フォルダの作成
MySQLのインストールディレクトリ直下にdata
、logs
、temp
フォルダを作成します。
以下のようにフォルダが出来ていればOKです。
C:\dev\mysql-8.0.19-winx64\data C:\dev\mysql-8.0.19-winx64\logs C:\dev\mysql-8.0.19-winx64\temp
- data は MySQLのデータファイルが格納されます。
- logs は ログファイルが格納されます。
- temp は 一時ファイルが作成されます。
MySQLの初期化
MySQLのインストールディレクトリでコマンドプロンプトを開き、以下のコマンドでMySQLの初期化を行います。 ※以降のコマンドプロンプトからのコマンド実行は、断りが無い限りMySQLのインストールディレクトリから行います。
初期化処理に問題が無ければ特にメッセージは出力されません。もし何かメッセージが表示された場合はエラーが起きた可能性があるので、これまでの作業を見直してください。
bin\mysqld --defaults-file=C:\dev\mysql-8.0.19-winx64\my.ini --initialize
Windowsエクスプローラでlogsフォルダを開き、error.logというファイルをテキストエディタで開きます。 このファイルにはMySQLのrootユーザーの仮パスワードが記録されています。
2020-03-20T17:12:39.004140+09:00 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: xhkUnc1qQe%8
この行のxhkUnc1qQe%8
が仮パスワードです。
MySQLの起動
MySQLの初期化が終了したら起動してrootユーザーでログインしてみます。 起動は以下のコマンドで行います。
bin\mysqld --defaults-file=C:\dev\mysql-8.0.19-winx64\my.ini --console
以下が起動メッセージです。この中の3行目のready for connections. Version: '8.0.19' socket: '' port: 3306 MySQL Community Server - GPL.
というメッセージがあれば起動できています。
2020-03-20T17:22:48.440783+09:00 0 [System] [MY-010116] [Server] C:\dev\mysql-8.0.19-winx64\bin\mysqld.exe (mysqld 8.0.19) starting as process 11176 2020-03-20T17:22:49.331232+09:00 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. 2020-03-20T17:22:49.408022+09:00 0 [System] [MY-010931] [Server] C:\dev\mysql-8.0.19-winx64\bin\mysqld.exe: ready for connections. Version: '8.0.19' socket: '' port: 3306 MySQL Community Server - GPL. 2020-03-20T17:22:49.617563+09:00 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060
rootユーザーでログインする
MySQLの起動が確認できたらrootユーザーでログインしてみます。 MySQLのインストールディレクトリで新しいコマンドプロンプトを開き、以下のコマンドを実行してrootユーザーでログインします。
bin\mysql -u root -p
Enter password:
には先ほど確認した仮パスワードを入力します。
ログインできると以下のようなメッセージが表示されると思います。
Enter password: ************ Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.19 Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
仮パスワードを変更する
仮パスワードをそのまま使い続けることはできないので、以下のSQLコマンドで変更します。
new password
の部分を新しいパスワードに変えて実行してください。またパスワードはシングルクォート( '
)で囲みます。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
変更が成功すると以下のメッセージが表示されます。
Query OK, 0 rows affected (0.01 sec)
パスワードの変更ができたら以下のSQLコマンドでログアウトします。
exit
MySQLの停止
rootユーザーでのログインまで確認できたら一旦MySQLを停止します。 停止は以下のコマンドで行います。
bin\mysqladmin -u root -p shutdown
Enter password:
には、先ほど変更したrootユーザーのパスワードを入力します。
Enter password: ********
MySQLを起動したコマンドプロンプトを見てみると、以下のメッセージが表示されていて停止したことがわかります。
2020-03-20T17:37:22.663545+09:00 9 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.0.19). 2020-03-20T17:37:22.667429+09:00 0 [System] [MY-013105] [Server] C:\dev\mysql-8.0.19-winx64\bin\mysqld.exe: Normal shutdown. 2020-03-20T17:37:22.999047+09:00 0 [System] [MY-010910] [Server] C:\dev\mysql-8.0.19-winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.19) MySQL Community Server - GPL.
MySQLの起動・停止用バッチファイルを作成
これまで、MySQLの起動・停止はコマンドプロンプトからコマンドを入力して行ってきましたが、これらのコマンドをバッチファイルにすることで簡単に行えるようにします。
起動用バッチファイル
インストールディレクトリ直下にstartup.bat
という名前のファイルを作成します。
C:\dev\mysql-8.0.19-winx64\startup.bat
startup.batをテキストエディタで開き、以下の内容をコピーしてペーストします。
rem 起動用バッチ C:\dev\mysql-8.0.19-winx64\bin\mysqld --defaults-file=C:\dev\mysql-8.0.19-winx64\my.ini --console pause
rootユーザーログイン用バッチファイル
インストールディレクトリ直下にroot_user.bat
という名前のファイルを作成します。
C:\dev\mysql-8.0.19-winx64\root_user.bat
root_user.batをテキストエディタで開き、以下の内容をコピーしてペーストします。
rem rootユーザーでログイン C:\dev\mysql-8.0.19-winx64\bin\mysql --defaults-file=C:\dev\mysql-8.0.19-winx64\my.ini -u root -p
停止用バッチファイル
インストールディレクトリ直下にshutdown.bat
という名前のファイルを作成します。
C:\dev\mysql-8.0.19-winx64\shutdown.bat
shutdown.batをテキストエディタで開き、以下の内容をコピーしてペーストします。
rem 停止用バッチ C:\dev\mysql-8.0.19-winx64\bin\bin\mysqladmin -u root -p shutdown pause
これで、MySQLの起動はstartup.bat、停止はshutdown.batのクリックで行えるようになりました。 また、MySQLが起動していればroot_user.batをクリックしてrootユーザーでログインできます。
バッチファイルを作成する理由
ソフトウェアをインストールすると実行ファイルがあるパスを環境変数pathに追加するということがよくあります。
MySQLで言えばMySQLサーバーの実行ファイルであるmysqld.exe
、MySQLクライアントのmysql.exe
などです。フルパスを入力するよりmysql
と入力するだけで実行できるので便利ですが、複数バージョンのMySQLをインストールしていて使い分けしたい場合は、どのバージョンのMySQLがpathに登録されているのか気にする必要がでてきます。
このような場合、起動・停止用のバッチファイルを作成し実行ファイルへのフルパスを記述することで環境変数pathに登録する必要がなくなります。
pauseコマンド
startup.batとshtudown.batにpauseコマンドを入れています。pauseはコマンドプロンプトのコマンドで、エンターキーの入力があるまで処理を一時停止します。 pauseコマンドを入れておく理由は、MySQLの起動や停止に異常があった場合にコマンドプロンプト上で確認することができるためです。逆に入れていないとエラーが起きていてもコマンドプロンプトがそのまま閉じてしまうのでエラーが確認できません。 ただし、起動や停止に問題が内容であればbatファイルから削除しても構いません。
パスワードの入力を省略する
これはセキュリティ上よくないので、ローカル開発環境でのみ利用するようにしてください。
バッチファイルの-p
オプションを以下のように--password=*****
(***** は rootユーザーのパスワードに読み替えてください)と書き換えることで、パスワードの入力を省略できます。
rem rootユーザーでログイン C:\dev\mysql-8.0.19-winx64\bin\mysql --defaults-file=C:\dev\mysql-8.0.19-winx64\my.ini -u root --password=*****
MySQLの再インストール
なんらかの理由でMySQLの環境をリセットして再作成したい場合は、以下のフォルダをWindowsエクスプローラで削除し、『初期設定』の『フォルダの作成』からやり直します。 ※dataフォルダも削除するので、それまで作成したデータがそのまま消えてしまう点に注意してください。
C:\dev\mysql-8.0.19-winx64\data C:\dev\mysql-8.0.19-winx64\logs C:\dev\mysql-8.0.19-winx64\temp
MySQLのアンインストール
MySQLのインストールディレクトリをWindowsエクスプローラで削除します。
C:\dev\mysql-8.0.19-winx64
事前準備の項でMicrosoft Visual C++ 2015 Redistributable Package
をインストールした場合は、Windows 10の設定 → アプリと機能の画面からアンインストールします。
Spring BootでシンプルなWebアプリケーションを開発する環境構築手順について
はじめに
これはJavaやSpring Bootの学習をするために動かせるプロジェクトを作成したいけど、そのための環境構築やプロジェクト作成方法がわからない方向けの記事です。 記事の前半で開発環境の構築手順、後半でWebアプリケーションのプロジェクト作成と実行までを説明しています。 作成するプロジェクトは"Hello World"を表示するだけのシンプルなWebアプリケーションですが、これをベースにいろいろと手を入れながら学習できると思います。
開発環境の構築手順
開発環境について
この記事の説明で利用するPCはWindows 10です。Macユーザの方は適宜読み替えてください。
Java
Javaは、OpenJDK 13.0.2を使用します。(2020/3月時点の最新バージョンです)
インストール
OpenJDKのインストールは、一般的なソフトウェアやOracle JDKのインストールとは違って、zipファイルをダウンロードしそれを展開して配置するだけで済みます。 まず、zipファイルをダウンロードするためhttp://jdk.java.net/13/にアクセスします。 Fig1の赤い枠線で囲ったリンクをクリックするとzipファイルのダウンロードがはじまります。
ダウンロードが完了したら、7-Zipなどzipファイルを展開するツールを使って任意のフォルダへzipファイルを展開します。 この記事では下記の場所へ展開しましたので、この場所をOpenJDKのインストールフォルダとして説明を続けます。
C:\dev\openjdk\jdk-13.0.2
念のため、Windowsエクスプローラでこの場所に下記のフォルダやファイルがあることを確認します。
バージョンの確認
コマンドプロンプトを起動し、下記のコマンドを実行してOpenJDKのバージョンを確認します。
C:\dev\openjdk\jdk-13.0.2\bin\java -version
以下の実行結果が返ってくれば成功です。
openjdk version "13.0.2" 2020-01-14 OpenJDK Runtime Environment (build 13.0.2+8) OpenJDK 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)
環境変数pathの設定
javaコマンドを毎回フルパス(絶対パス)で入力しなくても済むように、環境変数pathにjavaコマンドのフルパスを追加します。
Windowsのスタートメニューを開き(キーボードのWinキーを押下でも可)、そのままenv
と入力します。
Fig3のような画面が表示されたら、赤い枠線で囲った”開く"をクリックします。
Fig4の”環境変数(N)"ボタンをクリックします。
Fig5のようにJAVA_HOME
というシステム変数の変数値にOpenJDKのインストールディレクトリを登録します。
最後にFig6のように環境変数pathに%JAVA_HOME%\bin
という値を追加します。
環境変数pathが正しく設定されたかどうか確認するため、コマンドプロンプトを新しく開き以下のコマンドでバージョンを確認します。 バージョン情報が返ってきたら成功です。
java -version
Eclipse
Webアプリケーションの開発ツールにEclipseを使用します。開発ツールにはEclipse以外にもIntelliJ IDEAやNetBeans、Spring Tools Suiteなどがあります。また日本語化されていて便利な拡張機能がプレインストールされているPleiades All in Oneも人気があります。
インストール
EclipseのインストールもOpenJDKと同様にzipファイルをダウンロードして展開するだけで済みます。 ダウンロードページにアクセスするとFig7のページが表示されますが、ここのダウンロードボタンではなく赤い枠線で囲った"Download Packages"というリンクをクリックします。
この画面(Fig8)の"Windows 64-bit"のリンクをクリック、次の画面(Fig9)のファイル名をクリックするとzipファイルのダウンロードが始まります。
ダウンロードしたzipファイルを7-Zipなどのツールで展開します。 この記事では下記の場所へ展開しましたので、この場所をEclipseのインストールフォルダとして説明を続けます。
C:\dev\eclipse
Windowsエクスプローラで、この場所に下記のフォルダやファイルがあることを確認します。
eclipse.exe
を右クリックしてメニューの「送る」→「デスクトップ(ショートカットを作成)」をクリックします。これでデスクトップにEclipseのショートカットアイコンが作成されました。
起動と設定
デスクトップに作成したEclipseのアイコンをクリックしてEclipseを起動します。
起動するとワークスペースの場所を決めるダイアログウィンドウが表示されます。ワークスペースの場所はどこでも構わないのですが、この記事ではEclipseをインストールしたフォルダと同じ場所にeclipse-workspace
というフォルダを作成しました。
C:\dev\eclipse-workspace
起動するとWelcome画面(Fig12)が表示されます。右下のチェックを外してWelcome画面を閉じます。(チェックを外さないと毎回Welcome画面が表示されます)
次にJAVA_HOMEの設定が正しく反映されているか確認します。
メニューバーのWindow
→ Preferences
をクリックし、左側メニューのJava
→ Installed JREs
をクリックします。
画面右側のInstalled JREsにJAVA_HOMEで登録したOpenJDKが反映されていることを確認します。
そのまま続けて、左側メニューのGeneral
→ Workspace
をクリックします。
画面右側のText file encoding
をDefault (MS932)
からOtherのUTF-8
へ、New text file line delimiter
をDefault (Windows)
からOtherのUnix
へ変更します。(この変更はプロジェクトをGitで管理する場合を想定しています。)
次に左側メニューのGeneral
→ Editors
→ Text Editors
をクリックします。
画面右側のShow whitespace characters
をチェックします。この設定を有効にすると目に見えない文字(半角スペースやタブ、改行)がエディタ上では代替文字で可視化されるようになります。
拡張機能のインストール
Spring Bootを使ったWebアプリケーションのプロジェクトを作成できるようにSpring Tools 4
という拡張機能を追加します。
メニューバーのHelp
→ Eclipse Marketplace...
をクリックし、Searchタブの検索フィールドにspring tools 4
と入力して検索します。
画面(Fig16)に表示された"Spring Tools 4 (aka Spring Tool Suite 4) 4.5.1.RELEASE"のInstallボタンをクリックしてインストールを始めます。
確認画面(Fig17)で、そのままConfirmボタンをクリックします。
ライセンスの同意画面(Fig18)で、I accept the terms of the license agreements
にチェックを入れてライセンスに同意し、Finishボタンをクリックしてインストールを開始します。
インストールが終わるとEclipseの再起動を促されるので、一旦再起動します。
以上で開発環境の構築は完了です。
プロジェクトの作成
Spring Bootを利用したWebアプリケーションのプロジェクトを簡単に作成する手段がいくつかありますが、主なものではSpring InitializrというWebサービスを利用する方法、もう1つはEclipse拡張機能のSpring Tools 4を利用する方法があります。 この記事では2つ目の方法、Spring Tools 4を使ってプロジェクトを作成します。
プロジェクトの作成開始
EclipseのメニューバーのFile
→ New
→ Other...
をクリックします。
画面(Fig 19)のフィールドにspring
と入力し、検索結果に表示されたSpring Starter Projectを選択して、Nextボタンをクリックします。
プロジェクトのアーキテクチャを選択
この画面(Fig 20)で、Java Versionを13
へ変更します。Typeでプロジェクトのビルドツールを選択できますがデフォルトのMaven
のままにします。
Spring Bootの依存ライブラリを選択
Spring Boot 2.2.5は、2020年3月現在の最新バージョンです。 画面左に利用できるライブラリの一覧がカテゴリ別に表示されています。 画面右に選択したライブラリの一覧が表示されます。(Fig21は最初の状態なので何も選択されていません)
この記事で開発するWebアプリケーションは"Hello World"を表示するだけのシンプルなものなので、必要な依存ライブラリは以下の3つだけです。
- Webカテゴリの
Spring Web
- Template Enginesカテゴリの
Thymeleaf
- Developer Toolsカテゴリの
Spring Boot DevTools
Spring Webの追加
Thymeleafの追加
Spring Boot DevToolsの追加
選択できる依存ライブラリはたくさんありますが、とりあえず必要なのは3だけなので選択できたら最後にFinishボタンをクリックしプロジェクトを作成します。 (※たとえば、データベースを扱いたい場合はSQLカテゴリの"Spring Data JPA"や"Spring Data JDBC"とデータベースドライバ(MySQL DriverやPostgreSQL Driver)を選択します。)
作成直後のプロジェクトの状態
プロジェクトの作成が完了すると、Project Explorerにプロジェクトが展開されます。
プロジェクト内にDemoApplication
というクラスがありますが、これはSpring Tools 4が生成したクラスで、Spring Bootを利用したアプリケーションの起動クラスになります。
package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
また、"src/main/resources"にapplication.propertiesというSpring Bootアプリケーションの設定ファイルが生成されていますが、プロジェクト作成直後はただの空ファイルです。 この記事でも特に設定を変える部分はないので編集しません。
Mavenでビルドする
とりあえず、プロジェクト作成直後の状態でビルドを行ってみます。
Project Explorer上のプロジェクト名を右クリックし、メニューのRun As
→ Maven build
をクリックします。
編集画面(Fig27)でGoalsにclean package
と入力し、Runボタンをクリックしてビルドを行います。(編集画面の設定は、この後でも行えます)
ビルド結果がEclipseのConsoleに出力されます。Fig28のように"BUILD SUCCESS"と表示されればビルドは成功です。
ビルドが成功すると、targetフォルダにjarファイル(成果物/アーティファクト)が生成されています。 jarファイルが見えない場合は、Project Explorer上のプロジェクト名を選択した状態でF5キーを押下して画面をリフレッシュしてください。
以降のMavenビルドは、プロジェクト名を右クリック → Run AS
→ Maven build
で行えます。
Hello Worldの実装
ここから、"Hello World"を表示するWebアプリケーションの開発手順について説明します。
controllerパッケージを追加する
com.example.demo
というパッケージを右クリックし、メニューのNew
→ Package
をクリックします。
controllerクラスを追加する
作成したcom.example.demo.controller
パッケージを右クリックし、メニュ―のNew
→ Class
をクリックします。
クラス名にHelloWorldController
と入力します。
HelloWorldController
package com.example.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HelloWorldController { @GetMapping(value = "/") public String index(Model model) { String message = "ハローワールド"; model.addAttribute("message", message); return "hello-world"; } }
テンプレートファイルを追加する
templatesフォルダを右クリックし、メニューのNew
→ Other...
をクリックします。
入力フィールドに"html"と入力し、検索結果に表示されたHTML Fileを選択して、Nextボタンをクリックします。
テンプレートファイル名にhello-world.html
と入力します。
hello-world.html
<!DOCTYPE html> <html lang="ja" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Hello World</title> </head> <body> <div> <h1 th:text="${message}"></h1> </div> </body> </html>
アプリケーションの実行
アプリケーションの実行方法にもいくつか手段があります。
Eclipseから実行する
- 1つ目は
DemoApplication
クラスを右クリックし、Run AS
→Java Application
もしくはSpring Boot App
をクリックする方法。 - 2つ目はプロジェクト名を右クリックし、
Run AS
→Spring Boot App
をクリックする方法。
アプリケーションを実行すると、EclipseのConsoleに起動メッセージが出力されます。 Consoleの最後の方に"Started DemoApplication in 1.918 seconds"のようなメッセージが表示されていればアプリケーションの起動は成功です。
2020-03-16 17:29:53.264 INFO 9184 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 2020-03-16 17:29:53.425 INFO 9184 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' 2020-03-16 17:29:53.429 INFO 9184 --- [ restartedMain] com.example.demo.DemoApplication : Started DemoApplication in 1.918 seconds (JVM running for 2.803)
この方法でアプリケーションを実行すると、次からEclipseのメニューバーのRunアイコンから簡単に実行できます。
Mavenコマンドで実行する
3つ目はMavenコマンドで実行する方法です。コマンドプロンプトでプロジェクトディレクトリを開き、下記のコマンドを実行します。 この方法でもEclipseから起動したのと同じ起動メッセージが出力されます。
mvnw spring-boot:run
jarファイルを実行する
4つ目はビルドして生成したjarファイルを実行する方法です。 以下はプロジェクトディレクトリから実行する例になります。 1行目のコマンドでMavenビルドを実行してjarファイルを生成します。(jarファイルが生成されていればスキップしても構いません) 2行目のコマンドでjarファイルを実行します。
mvnw clean package java -jar .\target\demo-0.0.1-SNAPSHOT.jar
上記の方法のいずれかでアプリケーションが起動したらブラウザを立ち上げ、以下のURLでアクセスします。画面に”ハローワールド”と表示されれば成功です。
http://localhost:8080/
環境構築手順とプロジェクトの作成方法の説明は以上です。