環境構築　009　Eclipse で Spring Boot 初期セットアップ JDBC + MyBatis

#1. 概要

Eclipse で Springスターター・プロジェクトを使って、Spring Boot プロジェクトを作成
JDBCドライバ + MyBatis 経由で、MySQLに接続するための設定と起動確認

#2. Spring Boot プロジェクトの作成

パッケージ・エクスプローラー上で右クリック、[新規]-[**その他**]をクリック

![boot-setup-001.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/b9da9c08-e37d-eebc-d983-e8b234970663.png)

ウィザード選択画面が表示、[Spring Boot]-[Spring スターター・プロジェクト]を選択、「**次へ**」をクリック

![boot-setup-002.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/0aee364f-37db-d607-89d7-5e79a743a2be.png)

新規 Spring スターター・プロジェクト 画面が表示
※　デフォルト設定のままでも可、今回は、『Maven』ではなく『Gradle』を使う予定

![boot-setup-003.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/5dc02033-61f4-27e8-c170-e91a049931be.png)

型：を『Gradle（Buildship 2.x）』に変更、その他（名前、グループ、成果物 ・・・）を適宜変更、「次へ」をクリック

![boot-setup-004.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/80b086fa-2407-2c63-9d66-908315967f02.png)

『Spring Boot Version』と機能を実現するのに必要なライブラリを『使用可能』テキストに入力・検索し選択、あとから追加・変更・削除可能


| 項番 | 名称  | 概要
|:-----|------|------
| 01 | Lombok |Java言語におけるボイラープレートコードをソースコードから排除するために使用するライブラリ
| 02 | Configuration Processor |メタ情報が追加されapplication.propertiesでCtrl + Spaceを押すと設定可能な候補を表示してくれるライブラリ
| 03 | 検証 |Springが提供しているvalidationライブラリ
| 04 | MySQL |Spring BootのMySQLパッケージライブラリ
| 05 | JDBC |Spring BootのJDBC接続パッケージライブラリ
| 06 | MyBatis |MyBatis3とSpringを連携させるライブラリ
| 07 | Thymeleaf |Spring MVC のビューテンプレートエンジンライブラリ
| 08 | Web |Spring BootのWeb基本パッケージライブラリ

![boot-setup-005.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/3f09f7eb-3bc2-708b-891b-584276ea9dcc.png)

選択したライブラリを含む、Spring initializr 雛形生成WebサービスのURLが生成されるので、「**完了**」をクリック

![boot-setup-006.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/1307f916-552e-5034-c4ab-92b5548fe953.png)

必要なライブラリが、Mavenリポジトリからダウンロードされ、プロジェクトに必要なディレクトリ構成も同時に作成される

![boot-setup-007.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/c8132369-1c41-f4f1-e4e3-c5741335207e.png)

#3. JDBC + MyBatis の接続設定

application.properties に、MySQLに接続するためのJDBCクラス、MySQLへの接続用文字列、接続ユーザ・パスワードを記述

![boot-setup-008.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/a4c0c3a9-a2c6-3c63-69f4-4dde936ecad5.png)

MyBatis固有の設定情報を記述する、『mybatis-config.xml』 を /src/main/resources 配下に作成

![boot-setup-010.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/a5091808-ba29-6603-fbc3-c9edaac9ef71.png)

MyBatis固有の設定情報 appUnderscoreToCamelCase を　true　にする

データベースのカラム名がスネーク記法（複数の単語を「_（アンダーバー」でつなげた表現）で定義されている場合、キャメル記法（2つ目以降の単語を大文字でつなげた表現）に変換されてマッピングされる。

（例）「user_id」というカラムの場合、Javaのフィールドが「userId」でマッピングされる。

![boot-setup-011.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/4322d10e-0d61-1931-7bbf-f7a934ba69e2.png)

Bean自動登録対象となる、SpringBootApplicationアノテーションが付与されている、PracApplicationクラスで、application.propertiesの設定を元にデータソースが生成され、さらに、MyBatisの固有情報も設定されたSqlSessionFactoryクラスが生成されるようにする

![boot-setup-009.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/fa7b5c3b-1564-e45c-765e-dcdb54acad3c.png)

#4. Application実行

[ウインドウ]-[ビューの表示]-[**その他**]をクリック

![boot-setup-012.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/9b1fc191-5392-606c-8779-043e4bacf046.png)

ビューの表示画面で、『*Gradle実行*』『*Gradleタスク*』を選択し、クリック

![boot-setup-013.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/fdccb122-5319-b4b0-be0f-c5a4d061272c.png)

『*Gradleタスク*』タブを表示し、「**bootRun**」をダブルクリック

![boot-setup-014.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/8eeebe96-9a41-1ac6-067f-742c7c385091.png)

『*Gradle実行*』タブに、実行状況が表示される
　※　エラーがある場合は、赤×表示される

![boot-setup-015.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/9d33d952-6acc-df0f-71da-218b515fcf24.png)

『*コンソール*』タブに、*Started PracApplication in ・・・*　が表示されていれば、正常に起動している

![boot-setup-016.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/85b057be-ed25-8c9c-5fb9-d564df420c4a.png)

---------------------
[参照サイト]
・spring bootでDB連携する際の設定ファイル　<http://yuuki1413.hatenablog.com/entry/2017/07/25/150521>