LoginSignup
2
1

More than 5 years have passed since last update.

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

Posted at

はじめに

  テストコードを流す時、ローカルにDBを作成する人も多いと思いますが、クラウド時代に使いこなしてるふりをするために、BluemixのDb2 Warehouse on Cloudを利用して実装してみました。

前提

  ある程度Mavenについて理解していること。EclipseでMavenシンプルプロジェクトを作成してあること。JPAを利用していること。Bluemixのアカウント持っていること。

ローカルの準備

1.Db2 on CloudのDriverダウンロードします。
2.Mavenプロジェクトにlibというフォルダを作成し,ダウンロードしたドライバをそのフォルダ配下に置きます

スクリーンショット 2017-09-14 18.11.13.png

3.プロジェクトのDependencyに追加します。
4.Buildの手順を定義します。

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

pom.xml

<!-- 手順3-->
<!-- 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>

<!-- 手順4-->
<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準備

1.Db2 Warehouse on Cloudサービス作成

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

スクリーンショット 2017-09-12 16.40.35.png

2.接続情報取得   

 1)右側の「サービス資格情報」をクリックします。
スクリーンショット 2017-09-14 18.30.53.png

 2)「新規資格情報」をクリックします。
スクリーンショット 2017-09-14 18.31.11.png

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

persistence.xml編集

  src/test/javaの配下に「META-INF」というフォルダーを作成に、中にpersistence.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を使いこなせるためにも、いい練習だと思います。
  

2
1
0

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
2
1