Db2 Warehouse on Cloud에서 테스트 코드용 DB 만들기

소개



테스트 코드를 흘릴 때 로컬에 DB를 만드는 사람도 많다고 생각합니다만, 클라우드 시대에 잘 다루는 척을 하기 위해, Bluemix의 Db2 Warehouse on Cloud를 이용해 구현해 보았습니다.

전제



어느 정도 Maven에 대해 이해하고 있는 것. Eclipse에서 Maven 간단한 프로젝트를 만들었습니다. JPA를 이용하고 있는 것. Bluemix 계정이 있는지.

로컬 준비



1.Db2 on Cloud Driver 다운로드 합니다.

2. Maven 프로젝트에 lib라는 폴더를 만들고 다운로드 한 드라이버를 폴더 아래에 놓습니다.



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 서비스 만들기

    카탈로그를 클릭하고 검색 막대에 Cloud Cloud Db2 Warehouse를 입력합니다. 클릭 하 고 만듭니다.



2. 접속 정보 취득  

1) 우측의 「서비스 자격 정보」를 클릭합니다.


2) 「신규 자격 정보」를 클릭합니다.


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를 다루기 위해서도, 좋은 연습이라고 생각합니다.
  

좋은 웹페이지 즐겨찾기