[스프링 팁] MyBatis 환경 세팅하기 (2) - 데이터베이스 연동위해 sample 프로젝트를 다운받아 필요한 파일 복사하기 :: 소림사의 홍반장!

관련글

 

 

아래 샘플 위치로 바로가기 https://src.springframework.org/svn/spring-samples/ 

 

 

 

아래의 주소를 복사!  < https://src.springframework.org/svn/spring-samples/petclinic/ > <--귀찮음 걍 이거 복사.ㅎ

 

 

 스프링 툴의 Perspective 버튼 클릭

 

 

 

SVN 선택 

 

 

 

SVN 창에서 마우스 우클릭 > New > Repository Location 클릭

 

 

 

아까 복사해 놓았던 다운 받을 샘플 위치 입력

 

 

 

 

SVN 창에 등록되면 trunk 폴더에 마우스 우클릭 후 Checkout 실행

 

 

 

finish 클릭

 

 

 

 

Perspective를 SVN 에서 JavaEE나 Spring으로 바꾸고 Explorer창의 다운받은 샘플 프로젝트 확인 후

아래 위치한 두개의 파일을 복사!

jdbc.properties

messages.properties

 

 

 

사용하고자 하는 프로젝트의 동일한 위치에 붙여넣기!

 

 

 

샘플프로젝트의 아래 위치에서 필요한 파일 복사하기

applicationContext-dataSource.xml

applicationContext-jdbc.xml

 

 

 

사용할 프로젝트의 같은 위치에 붙여넣기

 

 


복사해 넣은 파일 수정하기

 

 

jdbc.properties 파일 열고 수정하기

 

 

 

내용을 이렇게 수정한다. (오라클 사용 세팅)

# Properties file with JDBC and JPA settings.

#

# Applied by <context:property-placeholder location="jdbc.properties"/> from

# various application context XML files (e.g., "applicationContext-*.xml").

# Targeted at system administrators, to avoid touching the context XML files.

 

#-------------------------------------------------------------------------------

# Oracle Settings

 

jdbc.driverClassName=oracle.jdbc.OracleDriver

jdbc.url=jdbc:oracle:thin:@아이피주소:1521:xe

jdbc.username=사용할계정(ex. scott)

jdbc.password=비밀번호(ex. tiger)

 

 

applicationContext-dataSource.xml 열기

 

 

 

다음과 같이 내용 수정

<?xml version="1.0" encoding="UTF-8"?>

<!-- Application context definition for PetClinic Datasource. -->

<beans xmlns="http://www.springframework.org/schema/beans"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"

        xmlns:context="http://www.springframework.org/schema/context"

        xmlns:jdbc="http://www.springframework.org/schema/jdbc"

        xsi:schemaLocation="

                       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

                       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd

                       http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd">

 

        <!-- ========================= DATASOURCE DEFINITION ========================= -->

 

        <!-- Configurer that replaces ${...} placeholders with values from a properties

               file -->

        <!-- (in this case, JDBC-related settings for the dataSource definition

               below) -->

        <context:property-placeholder location="classpath:jdbc.properties" />

 

        <!-- DataSource configuration for Apache Commons DBCP. -->

        <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"

               destroy-method="close" p:driverClassName="${jdbc.driverClassName}"

               p:url="${jdbc.url}" p:username="${jdbc.username}" p:password="${jdbc.password}">

       

               <!-- 최대 커넥션 개수 -->

               <property name="maxActive" value="50"></property>

              

               <!-- 접속이 없을 경우 최대 유지 커넥션 개수 -->

               <property name="maxIdle" value="30"></property>

              

               <!-- 접속이 없을 경우 최소 유지 커넥션 개수 -->

               <property name="minIdle" value="10"></property>

              

               <!-- 최대 대기시간() : 초과시 연결실패 오류 발생 -->

               <property name="maxWait" value="5"></property>

       

        </bean>

</beans>

 

 

 

커넥션풀(DB Connection Pool) 사용 위한 세팅

 

설명한 링크 바로가기 http://mvnrepository.com/artifact/commons-dbcp/commons-dbcp/1.4

 

 

 

maven 탭의 아래 부분을 복사한다. (버전 변경 안할거면 이거 그대로 복사하면 됨.)

<dependency>
 <groupId>commons-dbcp</groupId>
 <artifactId>commons-dbcp</artifactId>
 <version>1.4</version>
</dependency>
           

 

 

사용할 프로젝트의 pom.xml 을 연다. (소스가 바로 안보이는 사람들은 하단의 Overview 탭을 pom.xml 탭으로 바꾼다.)

 

 

아래처럼 위에서 복사한 내용을 붙여넣기 한다.

 

 

 

지금까지 잘 따라했다면 pom.xml에는 다음의 소스가 추가되었을 것이다.

               <!-- MyBatis 설정 세팅 -->

               <dependency>

                       <groupId>org.mybatis</groupId>

                       <artifactId>mybatis</artifactId>

                       <version>3.1.1</version>

               </dependency>

 

               <!-- 스프링과 연동 위한 jar 파일 다운 -->

               <dependency>

                       <groupId>org.mybatis</groupId>

                       <artifactId>mybatis-spring</artifactId>

                       <version>1.1.0</version>

               </dependency>

 

               <!-- Commons DBCP 위한 설정 -->

               <dependency>

                       <groupId>commons-dbcp</groupId>

                       <artifactId>commons-dbcp</artifactId>

                       <version>1.4</version>

               </dependency>

 

 

 

applicationContext-jdbc.xml 파일 열기

 

 

 

다음과 같이 수정.

<?xml version="1.0" encoding="UTF-8"?>

<!--

        Application context definition for PetClinic on JDBC.

-->

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

               xmlns:aop="http://www.springframework.org/schema/aop" xmlns:p="http://www.springframework.org/schema/p"

               xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"

               xsi:schemaLocation="

                       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd

                       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

                       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd

                       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

 

        <!-- ========================= RESOURCE DEFINITIONS ========================= -->

 

        <!-- Transaction manager for a single JDBC DataSource (alternative to JTA) -->

        <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"

                       p:dataSource-ref="dataSource"/>

 

        <!-- Transaction manager that delegates to JTA (for a transactional JNDI DataSource) -->

        <!--

        <bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"/>

        -->

 

 

        <!-- ========================= BUSINESS OBJECT DEFINITIONS ========================= -->

 

        <!--

               Activates various annotations to be detected in bean classes: Spring's

               @Required and @Autowired, as well as JSR 250's @PostConstruct,

               @PreDestroy and @Resource (if available) and JPA's @PersistenceContext

               and @PersistenceUnit (if available).

        -->

        <context:annotation-config/>

 

        <!--

               Instruct Spring to retrieve and apply @AspectJ aspects which are defined

               as beans in this context (such as the CallMonitoringAspect below).

        <aop:aspectj-autoproxy/>

        -->

 

        <!--

              Instruct Spring to perform automatic transaction management on annotated classes.

               The SimpleJdbcClinic implementation declares @Transactional annotations.

               "proxy-target-class" is set because of SimpleJdbcClinic's @ManagedOperation usage.

        <tx:annotation-driven/>

        -->

 

</beans>

 

 

 

사용할 프로젝트의 web.xml 열기

 

 

 

새로 추가한 파일들을 자동으로 읽어들이기 위해 web.xml에 다음 내용 추가!

 

 

 

 

아래 링크 바로가기 http://www.mybatis.org/spring/factorybean.html

Quick Setup의 박스 안 내용 복사! 홈페이지 가기 귀찮으면 요 아래 박스 내용 복사~!

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="dataSource" />
  <property name="mapperLocations" value="classpath*:sample/config/mappers/**/*.xml" />
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
  <constructor-arg index="0" ref="sqlSessionFactory" />
</bean>

 

 

 

 

 

사용할 프로젝트의 root-context.xml 파일 열기

 

 

 

 

위에서 복사한 내용 붙여넣고 불필요한 부분 삭제! 수정 완료 후 root-context.xml의 모습 다 귀찮으면 이거 복사해.ㅋㅋㅋ

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

 

        <!-- Root Context: defines shared resources visible to all other web components -->

 

        <!-- MyBatis 세팅 -->

        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

               <property name="dataSource" ref="dataSource" />

               <property name="mapperLocations"

                       value="classpath*:kr/co/khi/mapper/**/*.xml" />

        </bean>

 

        <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">

               <constructor-arg index="0" ref="sqlSessionFactory" />

        </bean>

</beans>

 

 

 

이제 드디어 데이터베이스 사용 위한 MyBatis 세팅 완료~! 이제 잘 나오나 찍어봐야지?

다른 카테고리의 글 목록

Dev. 스프링/환경세팅 카테고리의 포스트를 톺아봅니다