Db2 Warehouse on Cloudでテストコード用DBを作る

#はじめに
　　テストコードを流す時、ローカルにDBを作成する人も多いと思いますが、クラウド時代に使いこなしてるふりをするために、BluemixのDb2 Warehouse on Cloudを利用して実装してみました。
#前提
　　ある程度Mavenについて理解していること。EclipseでMavenシンプルプロジェクトを作成してあること。JPAを利用していること。Bluemixのアカウント持っていること。
#ローカルの準備
#####1.Db2 on CloudのDriver[ダウンロード][link1]します。
[link1]:https://www-945.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm~Information%2BManagement&product=ibm/Information+Management/IBM+Data+Server+Client+Packages&release=10.5.*&platform=Linux+64-bit,x86_64&function=all

#####2.Mavenプロジェクトにlibというフォルダを作成し,ダウンロードしたドライバをそのフォルダ配下に置きます
<img width="208" alt="スクリーンショット 2017-09-14 18.11.13.png" src="https://qiita-image-store.s3.amazonaws.com/0/169189/36f618fa-40fc-532c-3526-ae5d0dac0089.png">


#####3.プロジェクトのDependencyに追加します。

#####4.Buildの手順を定義します。

pom.xmlに少なくとも以下のコードが必要です。

```xml:pom.xml

<!-- 手順３-->
<!-- DB2 on Cloud　Driver-->
<dependencies> 
  <dependency>
	<groupId>com.ibm</groupId>
	<artifactId>db2jcc4</artifactId>
	<version>1.0.0</version>
	<scope>system</scope>
	<systemPath>${project.basedir}/lib/db2jcc4.jar</systemPath>
  </dependency>
</dependencies>

<!-- 手順４-->
<build>
    <plugins>
        <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
            <execution>
                <id>add-it-resources</id>
                <phase>pre-integration-test</phase>
                <goals>
                    <goal>copy-resources</goal>
                </goals>
                <configuration>
                  <outputDirectory>${project.build.directory}/it-classes</outputDirectory>
                  <resources>
                        <resource>
                            <directory>src/main/resources</directory>
                        </resource>
                        <resource>
                            <directory>src/it/resources</directory>
                        </resource>
                  </resources>
                </configuration>
            </execution>
        </executions>
      </plugin>

    </plugins>
</build>
```


#Db2 Warehouse on Cloud準備

#####１．Db2 Warehouse on Cloudサービス作成
　　　　カタログをクリックし、検索バーに「Db2 Warehouse on Cloud」を入力します。クリックし、作成します。

<img width="626" alt="スクリーンショット 2017-09-12 16.40.35.png" src="https://qiita-image-store.s3.amazonaws.com/0/169189/6a2e9da3-8bf0-bd32-0594-5f2b5a033566.png">

#####2.接続情報取得　　　
　１）右側の「サービス資格情報」をクリックします。
<img width="946" alt="スクリーンショット 2017-09-14 18.30.53.png" src="https://qiita-image-store.s3.amazonaws.com/0/169189/d3b87f21-67fa-5ad1-43b3-1afcc38a9508.png">

　２）「新規資格情報」をクリックします。
<img width="960" alt="スクリーンショット 2017-09-14 18.31.11.png" src="https://qiita-image-store.s3.amazonaws.com/0/169189/547de88b-c823-012e-a12d-f8bd1076f1a4.png">

　３）「資格情報表示」をクリックすると接続情報が表示されます。

#persistence.xml編集
　　src/test/javaの配下に「META-INF」というフォルダーを作成に、中にpersistence.xmlファイルを作成します。

```xml:persistence.xml

<?xml version="1.0" encoding="UTF-8"?><persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
	<persistence-unit name="TEST">
	    <class>com.abc.entity.Tablename1</class>
        <class>com.abc.entity.Tablename2</class>
		
		<properties>
			<property name="javax.persistence.jdbc.driver" value="com.ibm.db2.jcc.DB2Driver"/>
            <property name="javax.persistence.jdbc.url" value="資格情報のjdbcurl"/>
            <property name="javax.persistence.jdbc.user" value="資格情報のuser"/>
            <property name="javax.persistence.jdbc.password" value="資格情報のpassword"/>
			<property name="javax.persistence.jdbc.Schema" value="schema名"/>
			
		</properties>  
	</persistence-unit>
</persistence>

```

#やってみた感想
　　テストコードを流すためにかかる時間が長いのは事実ですが、本番環境とほぼおなじ環境を作るためにもあり、今後CloudのDBを使いこなせるためにも、いい練習だと思います。