13
17

More than 5 years have passed since last update.

01. SpringBoot + IntelliJ + MySQL(MyBatis)で環境構築してみた (Windows10)

Last updated at Posted at 2018-11-17

対象

「勉強のためにjavaを用いた簡単なAPIとかWebアプリを作りたいけど、自宅PCで環境構築するのが面倒だな…」という方を主な対象として記載していきます。
細かな手順については各リンクを準備していますのでそちらに譲りまして、簡単な作業手順を記載していきます。

因みに筆者の環境はWindowsのため、Windowsユーザであれば同じ手順で環境構築ができるはずです。

概要

このページではSpringBoot(java)からDBへつなげるところまでを記載しています。
実際のプログラムには触れていないのでご注意ください。
タイトルのままですが、以下の構成で開発ができるようにしていきます。

  • JDK:Java SE Development Kit 8u191
  • IDE:IntelliJ Community Edtion
  • FW:SpringBoot 2.1.0
  • DBサーバ:MySQL Community Server 8.0.13
  • O/Rマッパー:MyBatis

手順

1. 各種ツールをインストールする

1-1. JDKをインストールする

  1. Oracleの公式サイトにアクセスします。
  2. 今回はJDK 8u191を使用するのでAccept License Agreementにチェックを入れ、使用するOSに合ったものを選択します。(私はWindows x64を選択しました)
    インストール手順1.png

  3. ダウンロードされたexeファイルを実行し、インストーラに従ってインストールを完了させてください。

  4. 環境変数(JAVA_HOME、Path)の設定を行います。

JDKや環境変数についてはこちらの記事を参考にしてください。
環境変数の設定、確認はしっかりしておきましょう。

1-2. IntelliJ IDEAをインストールする

  1. IntelliJの公式サイトにアクセスし、画面中央のDOWNLOADをクリックします。

  2. Ultimate(有償)Community(無償)のどちらか1を選択します。(私はCommunityを選択しました)

  3. ダウンロードされたexeファイルを実行し、手順通りにインストールを完了させてください。

IntelliJについて手順の詳細はこちらの記事をご覧ください。

1-3. MySQLをインストールする

  1. MySQLの公式サイトにアクセスします。
  2. OSを選択し、DOWNLOADをクリックします。 ※32bitと記載があるかもしれませんが気にせずダウンロードしてください
    ダウンロード手順1.png

  3. No thanks, just start my download.をクリックします。
    ダウンロード手順2.png

  4. ダウンロードされたmsiファイルを実行し、手順通りにインストールを完了させてください。

手順の詳細はこちらの記事をご覧ください。
JDKと同じく環境変数の設定、確認まで行っておきましょう。
※もし再インストールする必要が出た場合はこちらの記事を参考にしてください。
 コンパネからアンインストールしただけでは再インストールに失敗するようです。

ここまで終わればインストールは完了です。
続いてプロジェクトを作成しましょう。

2. SpringBootProjectを作成する

  1. IntelliJを立ち上げます。プラグインとか聞かれるかもしれませんが、一旦何もせず進めます。
  2. Create New Projectをクリックします。
    プロジェクト作成1.png

  3. Gradleを選択し、Javaにチェック後、Nextをクリックします。※SDKは先ほどインストールしたJDKを選択しましょう。
    プロジェクト作成2.png

  4. GroupIdArtifactIdを入力し、Nextをクリックします。(各IDは好きなものにしてください)
    プロジェクト作成3.png
    GroupId、ArtifactIdとは何か

  5. 以降は設定を特に変えずNextをクリックし、Finishまで進めます。

ここまで進めるとプロジェクトが作成されたかと思います。(エラーが出ていても無視してよいです)
次は必要な依存関係を入れたいので、SpringInitializerを使ってみましょう。

3. SpringInitializerを使って必要な依存を注入する

  1. build.gradleの設定をSpringBoot用に変更するためにSprinig Initializerを使用します。こちらへアクセスしてください。

  2. 画面上部のセレクトボックスをGenerate a Gradle Project with java and Spring Boot 2.1.0となるように変更します。

  3. GroupIdとArtifactIdはプロジェクト作成時と同じになるように変更します。

  4. Dependenciesで必要な依存を選択します。今回はMySQLMyBatisを検索し、選択しましょう。

  5. 最終的には以下のような画面になると思います。設定ができたらGenerate Projectをクリックしましょう。
    プロジェクト作成4.png

  6. ダウンロードされたzipファイルを開き、その中にあるbuild.gradleをプロジェクト上に存在しているbuild.gradleへコピペします。その後画面右上のRefreshを実行し、再度依存を取り込み直しましょう。最初のプロジェクト作成時にエラーが出ていたとしても、この時は正常に完了できるはずです。
    プロジェクト作成5.png

ここまでくればあと一息です。今の状態ではDBの接続設定など行っていないのでアプリは起動しません。
application.yml(またはproperties)の修正をしていきましょう。

4. application.yml(properties)を修正してDBに接続する

4-1. DBにテーブルを作る

  1. MySQL Command Line Clientを開き、ログインします。(passwordはインストール時に設定したものです)
    テーブル作成1.png

  2. なんでもよいので適当なDBを作成します。
    テーブル作成2.png

  3. 続いてテーブルを作成します。ついでにデータも適当に入れておきます。
    テーブル作成3.png

  4. タイムゾーンも設定しておきましょう。こちらを参考に、my.iniに設定を追加し、MySQL Serverを再起動してください。

4-2. 接続情報をapplication.ymlに記載する

  1. application.ymlにDB情報を記載していきます。項目は最低でもurl、username、passwordが必要です。

    • urljdbc:mysql://localhost/sample_db(テーブル名)とします。
    • usernamerootとします。(他にユーザを作っていればそちらでも構いません)
    • passwordusernameで入力したユーザのパスワードを入力します。 DB接続1.png
  2. ここで一度プロジェクトのsrc/main配下にある〇〇Application.javaを実行してみましょう。Started 〇〇Applicationというログが出ていれば設定は正常に読み込めているので成功です。
    DB接続2.png

設定回りについてはこちらも参考にしてください。

5. 実際にDBから値を取得してみる(環境設定から少しずれますが)

  1. 適当にJavaを書いてDBから値を取得してみましょう。(この辺りはまた別で詳しく書く予定です)
  2. postmanで叩いた結果、取得できました! DB接続3.png

自分でやってみた感想

…なんかもっと簡単な方法ってないもんでしょうかね。
SpringBootって便利だなー!と思っていてもっとスムーズに行くと思っていたので、ちょっと億劫に感じました。
でもこれでDBには繋げるようになりました!

最後に

「もっといい方法があるよ!」
「ここはこう設定しておいた方がいいよ!」
などコメントお待ちしております!

次は実際にDBに繋ぐプログラムの書き方をご紹介したいと思います。
記事をアップしました!SpringBootからMySQLへ接続するAPIを作ってみた
最後までお読みいただきありがとうございましたー!


  1. 有償無償による違いはこちらをご覧ください。因みに筆者はライセンスの都合で業務でもCommunityを使用していますが、全く支障はありません。お試しであればCommunity(無償)をお勧めします。 

13
17
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
17