MyBatisがSPRING INITIALIZR上で選択可能になった！！

Spring Boot上でMyBatisを使う方に朗報です！！
ついに・・・[SPRING INITIALIZR](https://start.spring.io/)上で「MyBatis(mybatis-spring-boot-starter)」をDependenciesとして選択できるようになりました :smile:

# 「SPRING INITIALIZR on Web UI」の利用

「[SPRING INITIALIZRのWeb UI](https://start.spring.io/)」を利用する場合は、Dependenciesに「MyBatis」と入力して「Enter」ボタンを押すだけです :+1:

<img width="1280" alt="spring-initializr-mybatis.png" src="https://qiita-image-store.s3.amazonaws.com/0/117313/6dc605e8-e131-4a88-a402-6cd2b88f9f59.png">

Mavenプロジェクトの場合は、以下のような`pom.xml`が生成されます。

```xml:生成されたpom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>demo</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.4.1.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<!-- ### mybatis-spring-boot-starterが追加されてる！！ ### -->
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.1.1</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>


</project>
```


# 「SPRING INITIALIZR on IntellJ IDEA」の利用

IDEAを利用する場合は、「File > New > Project... > Spring Initializr」を選択して「Next」を押下すると入力ウィザードが表示されます。１ページ目でプロジェクトの基本情報、２ページ目でDependenciesを指定します。
２ページ目のSQLのカテゴリの中の「MyBatis」にチェックするだけです :v:


![spring-initializr-mybatis-idea.png](https://qiita-image-store.s3.amazonaws.com/0/117313/e50b9b3b-ff69-6128-8755-1f571caa4ce9.png)


# 「SPRING INITIALIZR on STS」の利用

STS(Spring Tool Suite)を利用する場合は、「File > New > Spring Starter Project」を選択すると入力ウィザードが表示されます。１ページ目でプロジェクトの基本情報、２ページ目でDependenciesを指定します。
２ページ目のSQLのカテゴリを開き「MyBatis」にチェックするだけです :v:

<img width="841" alt="spring-initializr-mybatis-sts.png" src="https://qiita-image-store.s3.amazonaws.com/0/117313/a56a197a-5b8a-8988-8ce5-072f26072502.png">

# 「cURL+tarコマンド」の利用

UI操作するの面倒だよ・・・という方は、cURLとtarコマンドを組み合わせることで、SPRING INITIALIZRのWeb Service経由でプロジェクトを作ることもできます:v:

```
$ curl -s https://start.spring.io/starter.tgz -d dependencies=mybatis -d baseDir=demo | tar -xzvf -
x demo/mvnw
x demo/
x demo/.mvn/
x demo/.mvn/wrapper/
x demo/src/
x demo/src/main/
x demo/src/main/java/
x demo/src/main/java/com/
x demo/src/main/java/com/example/
x demo/src/main/resources/
x demo/src/test/
x demo/src/test/java/
x demo/src/test/java/com/
x demo/src/test/java/com/example/
x demo/.gitignore
x demo/.mvn/wrapper/maven-wrapper.jar
x demo/.mvn/wrapper/maven-wrapper.properties
x demo/mvnw.cmd
x demo/pom.xml
x demo/src/main/java/com/example/DemoApplication.java
x demo/src/main/resources/application.properties
x demo/src/test/java/com/example/DemoApplicationTests.java
```

# まとめ

MyBatisはもともとSpringとの連携部品(MyBatis-Spring)を提供しており、Springとの相性がよいSQL Mapperの一つといえます。mybatis-spring-boot-starterの登場でSpring Boot上で使う時のコンフィギュレーションが簡素化されています。今回SPRING INITIALIZR上で選択できる依存ライブラリに追加されたことで、Spring Boot上でのMyBatisの利用が増えればいいな〜と思っています。